Add partner review api call #231
This commit is contained in:
parent
899f9df721
commit
da32614181
3 changed files with 47 additions and 1 deletions
|
|
@ -145,3 +145,7 @@ api_partner:
|
||||||
controller: App\Controller\APIController:getClosestPartners
|
controller: App\Controller\APIController:getClosestPartners
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
api_partner_review:
|
||||||
|
path: /api/partners/{pid}/review
|
||||||
|
controller: App\Controller\APIController:reviewPartner
|
||||||
|
methods: [POST]
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace App\Controller;
|
||||||
use Doctrine\ORM\Query;
|
use Doctrine\ORM\Query;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Doctrine\DBAL\DBALException;
|
use Doctrine\DBAL\DBALException;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
|
@ -2076,4 +2077,45 @@ class APIController extends Controller
|
||||||
|
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function reviewPartner($pid, Request $req, EntityManagerInterface $em)
|
||||||
|
{
|
||||||
|
$required_params = [
|
||||||
|
'rating',
|
||||||
|
'message',
|
||||||
|
];
|
||||||
|
|
||||||
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
|
if ($res->isError())
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
|
||||||
|
$rating = $req->request->get('rating');
|
||||||
|
$msg = $req->request->get('message');
|
||||||
|
|
||||||
|
// TODO: check rating if 1 - 5
|
||||||
|
|
||||||
|
// check if partner exists
|
||||||
|
$partner = $em->getRepository(Partner::class)->find($pid);
|
||||||
|
if ($partner == null)
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('No partner found.');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$rev = new Review();
|
||||||
|
$rev->setRating($rating)
|
||||||
|
->setMessage($msg)
|
||||||
|
->setPartner($partner)
|
||||||
|
->setMobileSession($this->session);
|
||||||
|
|
||||||
|
// save to db
|
||||||
|
$em->persist($rev);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
$res->setData($data);
|
||||||
|
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ class Review
|
||||||
{
|
{
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
$this->rating = 0;
|
$this->rating = 0;
|
||||||
$this->comment = "";
|
$this->message = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue