Merge branch '231-fix-mobile-api-issues' into 'master'
Resolve "Fix mobile API issues" Closes #231 See merge request jankstudio/resq!271
This commit is contained in:
commit
53c9964fe3
3 changed files with 58 additions and 10 deletions
|
|
@ -136,7 +136,7 @@ api_service_list:
|
|||
methods: [GET]
|
||||
|
||||
api_partner_info:
|
||||
path: /api/partner/{pid}
|
||||
path: /api/partners/{pid}
|
||||
controller: App\Controller\APIController:getPartnerInformation
|
||||
methods: [GET]
|
||||
|
||||
|
|
@ -145,3 +145,7 @@ api_partner:
|
|||
controller: App\Controller\APIController:getClosestPartners
|
||||
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\QueryBuilder;
|
||||
use Doctrine\DBAL\DBALException;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
|
|
@ -2001,7 +2002,7 @@ class APIController extends Controller
|
|||
'rating' => $review->getRating(),
|
||||
'message' => $review->getMessage(),
|
||||
'date_create' => $review->getDateCreate()->format("d M Y g:i A"),
|
||||
'mobile_session' => $review->getMobileSession()->getID(),
|
||||
// 'mobile_session' => $review->getMobileSession()->getID(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -2014,6 +2015,8 @@ class APIController extends Controller
|
|||
'contact_nums' => $partner->getContactNumbers(),
|
||||
'time_open' => $partner->getTimeOpen()->format("g:i A"),
|
||||
'time_close' => $partner->getTimeClose()->format("g:i A"),
|
||||
'longitude' => $partner->getCoordinates()->getLongitude(),
|
||||
'latitude' => $partner->getCoordinates()->getLatitude(),
|
||||
'reviews' => $rev,
|
||||
];
|
||||
|
||||
|
|
@ -2051,10 +2054,10 @@ class APIController extends Controller
|
|||
$result = $query->getResult();
|
||||
|
||||
$data = [];
|
||||
$partners = [];
|
||||
foreach($result as $row)
|
||||
{
|
||||
$partner = [];
|
||||
$partner[] = [
|
||||
$partners[] = [
|
||||
'id' => $row[0]->getID(),
|
||||
'name' => $row[0]->getName(),
|
||||
'branch' => $row[0]->getBranch(),
|
||||
|
|
@ -2062,14 +2065,55 @@ class APIController extends Controller
|
|||
'contact_nums' => $row[0]->getContactNumbers(),
|
||||
'time_open' => $row[0]->getTimeOpen()->format("g:i A"),
|
||||
'time_close' => $row[0]->getTimeClose()->format("g:i A"),
|
||||
];
|
||||
|
||||
$data[] = [
|
||||
'partner' => $partner,
|
||||
'longitude' => $row[0]->getCoordinates()->getLongitude(),
|
||||
'latitude' => $row[0]->getCoordinates()->getLatitude(),
|
||||
'db_distance' => $row['dist'],
|
||||
];
|
||||
];
|
||||
}
|
||||
|
||||
$data['partners'] = $partners;
|
||||
|
||||
$res->setData($data);
|
||||
|
||||
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->rating = 0;
|
||||
$this->comment = "";
|
||||
$this->message = "";
|
||||
}
|
||||
|
||||
public function getID()
|
||||
|
|
|
|||
Loading…
Reference in a new issue