Add setOdometer API call. Modify url routes for some calls for easier reading. #421

This commit is contained in:
Korina Cordero 2020-06-04 03:32:05 +00:00
parent b6c54615ad
commit a0ee7b32bc
3 changed files with 58 additions and 11 deletions

View file

@ -21,12 +21,12 @@ cmb_rapi_jo_get:
methods: [GET]
cmb_rapi_jo_accept:
path: /cmbrapi/accept
path: /cmbrapi/joaccept
controller: App\Controller\CMBRAPIController::acceptJobOrder
methods: [POST]
cmb_rapi_jo_cancel:
path: /cmbrapi/cancel
path: /cmbrapi/jocancel
controller: App\Controller\CMBRAPIController::cancelJobOrder
methods: [POST]
@ -36,7 +36,7 @@ cmb_rapi_arrive:
methods: [POST]
cmb_rapi_payment:
path: /cmbrapi/payment
path: /cmbrapi/jopayment
controller: App\Controller\CMBRAPIController::payment
methods: [POST]
@ -66,17 +66,17 @@ cmb_rapi_available:
methods: [POST]
cmb_rapi_jo_history_view:
path: /cmbrapi/joborderhistory
path: /cmbrapi/johistory
controller: App\Controller\CMBRAPIController::viewJobOrderHistory
methods: [GET]
cmb_rapi_assigned_jo_get:
path: /cmbrapi/assignedjoborders
path: /cmbrapi/assignedjos
controller: App\Controller\CMBRAPIController::getAssignedJobOrders
methods: [GET]
cmb_rapi_jo_in_transit:
path: /cmbrapi/joborderintransit
path: /cmbrapi/jotransit
controller: App\Controller\CMBRAPIController::setJobOrderInTransit
methods: [POST]
@ -96,21 +96,26 @@ cmb_rapi_offline:
methods: [POST]
cmb_rapi_jo_start:
path: /cmbrapi/joborderstart
path: /cmbrapi/jostart
controller: App\Controller\CMBRAPIController::startJobOrder
methods: [POST]
cmb_rapi_jo_complete:
path: /cmbrapi/jobordercomplete
path: /cmbrapi/jocomplete
controller: App\Controller\CMBRAPIController::completeJobOrder
methods: [POST]
cmb_rapi_jo_set_active:
path: /cmbrapi/joborderactive
path: /cmbrapi/joactive
controller: App\Controller\CMBRAPIController::setActiveJobOrder
methods: [POST]
cmb_rapi_jo_reject:
path: /cmbrapi/joborderreject
path: /cmbrapi/joreject
controller: App\Controller\CMBRAPIController::rejectJobOrder
methods: [POST]
cmb_rapi_jo_odometer:
path: /cmbrapi/odometer
controller: App\Controller\CMBRAPIController::setOdometer
methods: [POST]

View file

@ -525,4 +525,27 @@ class CMBRAPIController extends Controller
return $res->getReturnResponse();
}
public function setOdometer(Request $req, RiderAPIHandlerInterface $rapi_handler)
{
$res = new APIResult();
$data = $rapi_handler->setOdometer($req);
if (isset($data['error']))
{
$message = $data['error'];
$res->setError(true)
->setErrorMessage($message);
}
else
{
$res->setData($data);
}
// response
return $res->getReturnResponse();
}
}

View file

@ -972,7 +972,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
// allow rider to change service, promo, battery and trade-in options
$required_params = ['jo_id', 'stype_id', 'promo_id'];
$data = $this->checkActiveJO($req, $required_params, $jo);
$data = $this->checkJO($req, $required_params, $jo);
if (isset($data['error']))
return $data;
@ -1287,6 +1287,25 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
return $data;
}
public function setOdometer(Request $req)
{
$required_params = [
'jo_id',
'odometer'
];
$data = $this->checkActiveJO($req, $required_params, $jo);
if (isset($data['error']))
return $data;
$odometer_reading = $req->request->get('odometer');
$jo->addMeta('odometer', $odometer_reading);
$this->em->flush();
return $data;
}
protected function checkMissingParameters(Request $req, $params = [])
{
$missing = [];