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
|
||||
controller: App\Controller\CMBRAPIController::generateInvoice
|
||||
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
|
||||
{
|
||||
// NOTE: Rider's constructor sets flag_available and flag_active to true, by default.
|
||||
|
||||
protected $em;
|
||||
protected $redis;
|
||||
protected $ef;
|
||||
|
|
@ -177,7 +179,8 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
// assign rider to session
|
||||
$this->session->setRider($rider);
|
||||
|
||||
$rider->setAvailable(true);
|
||||
//$rider->setAvailable(true);
|
||||
$rider->setActive(true);
|
||||
|
||||
$rider_id = $rider->getID();
|
||||
// cache rider location (default to hub)
|
||||
|
|
@ -229,7 +232,9 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
|
||||
// make rider unavailable
|
||||
$rider = $this->session->getRider();
|
||||
|
||||
$rider->setAvailable(false);
|
||||
$rider->setActive(false);
|
||||
|
||||
// remove from cache
|
||||
$this->rcache->removeActiveRider($rider->getID());
|
||||
|
|
@ -244,6 +249,41 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
|||
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)
|
||||
{
|
||||
$required_params = [];
|
||||
|
|
|
|||
Loading…
Reference in a new issue