Change which flag is set when rider logs in and logs out. Add goOnline and goOffline API calls. #421
This commit is contained in:
parent
af9be59d8d
commit
dbdde5cdde
3 changed files with 95 additions and 1 deletions
|
|
@ -84,3 +84,14 @@ cmb_rapi_invoice_generate:
|
||||||
path: /cmbrapi/generateinvoice
|
path: /cmbrapi/generateinvoice
|
||||||
controller: App\Controller\CMBRAPIController::generateInvoice
|
controller: App\Controller\CMBRAPIController::generateInvoice
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
cmb_rapi_online:
|
||||||
|
path: /cmbrapi/online
|
||||||
|
controller: App\Controller\CMBRAPIController::goOnline
|
||||||
|
methods: [POST]
|
||||||
|
|
||||||
|
cmb_rapi_offline:
|
||||||
|
path: /cmbrapi/offline
|
||||||
|
controller: App\Controller\CMBRAPIController::goOffline
|
||||||
|
methods: [POST]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -393,5 +393,48 @@ class CMBRAPIController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function goOnline(Request $req, RiderAPIHandlerInterface $rapi_handler)
|
||||||
|
{
|
||||||
|
$res = new APIResult();
|
||||||
|
|
||||||
|
$data = $rapi_handler->goOnline($req);
|
||||||
|
|
||||||
|
if (isset($data['error']))
|
||||||
|
{
|
||||||
|
$message = $data['error'];
|
||||||
|
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage($message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$res->setData($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// response
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function goOffline(Request $req, RiderAPIHandlerInterface $rapi_handler)
|
||||||
|
{
|
||||||
|
$res = new APIResult();
|
||||||
|
|
||||||
|
$data = $rapi_handler->goOffline($req);
|
||||||
|
|
||||||
|
if (isset($data['error']))
|
||||||
|
{
|
||||||
|
$message = $data['error'];
|
||||||
|
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage($message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$res->setData($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// response
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ use DateTime;
|
||||||
|
|
||||||
class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
{
|
{
|
||||||
|
// NOTE: Rider's constructor sets flag_available and flag_active to true, by default.
|
||||||
|
|
||||||
protected $em;
|
protected $em;
|
||||||
protected $redis;
|
protected $redis;
|
||||||
protected $ef;
|
protected $ef;
|
||||||
|
|
@ -177,7 +179,8 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
// assign rider to session
|
// assign rider to session
|
||||||
$this->session->setRider($rider);
|
$this->session->setRider($rider);
|
||||||
|
|
||||||
$rider->setAvailable(true);
|
//$rider->setAvailable(true);
|
||||||
|
$rider->setActive(true);
|
||||||
|
|
||||||
$rider_id = $rider->getID();
|
$rider_id = $rider->getID();
|
||||||
// cache rider location (default to hub)
|
// cache rider location (default to hub)
|
||||||
|
|
@ -229,7 +232,9 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
|
|
||||||
// make rider unavailable
|
// make rider unavailable
|
||||||
$rider = $this->session->getRider();
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
$rider->setAvailable(false);
|
$rider->setAvailable(false);
|
||||||
|
$rider->setActive(false);
|
||||||
|
|
||||||
// remove from cache
|
// remove from cache
|
||||||
$this->rcache->removeActiveRider($rider->getID());
|
$this->rcache->removeActiveRider($rider->getID());
|
||||||
|
|
@ -244,6 +249,41 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function goOnline(Request $req)
|
||||||
|
{
|
||||||
|
$required_params = [];
|
||||||
|
$data = $this->checkParamsAndKey($req, $required_params);
|
||||||
|
if (isset($data['error']))
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
// set rider to available to take on JOs
|
||||||
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
|
$rider->setAvailable(true);
|
||||||
|
|
||||||
|
$this->em->flush();
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function goOffline(Request $req)
|
||||||
|
{
|
||||||
|
$required_params = [];
|
||||||
|
$data = $this->checkParamsAndKey($req, $required_params);
|
||||||
|
if (isset($data['error']))
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
// set rider to unavailable to take on JOs
|
||||||
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
|
$rider->setAvailable(false);
|
||||||
|
|
||||||
|
$this->em->flush();
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function getJobOrderHistory(Request $req)
|
public function getJobOrderHistory(Request $req)
|
||||||
{
|
{
|
||||||
$required_params = [];
|
$required_params = [];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue