diff --git a/config/routes/rider_api.yaml b/config/routes/rider_api.yaml index 2f61be21..bd38c492 100644 --- a/config/routes/rider_api.yaml +++ b/config/routes/rider_api.yaml @@ -40,6 +40,11 @@ rapi_payment: controller: App\Controller\RAPIController::payment methods: [POST] +rapi_hub_arrive: + path: /rapi/hub_arrive + controller: App\Controller\RAPIController::hubArrive + methods: [POST] + rapi_promos: path: /rapi/promos controller: App\Controller\RAPIController::getPromos diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index 3d38a15a..37ccdcc2 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -562,6 +562,30 @@ class RAPIController extends Controller return $res->getReturnResponse(); } + public function hubArrive(Request $req) + { + $required_params = []; + $em = $this->getDoctrine()->getManager(); + $res = $this->checkParamsAndKey($req, $em, $required_params); + if ($res->isError()) + return $res->getReturnResponse(); + + // are we logged in? + if (!$this->session->hasRider()) + { + $res->setError(true) + ->setErrorMessage('No logged in rider.'); + return $res->getReturnResponse(); + } + + // TODO: tag rider as available + + $em->flush(); + + + return $res->getReturnResponse(); + } + public function payment(Request $req, MQTTClient $mclient) { $em = $this->getDoctrine()->getManager(); @@ -588,6 +612,8 @@ class RAPIController extends Controller ->setRider($rider); $em->persist($event); + // TODO: tag rider as unavailable + $em->flush(); // send mqtt event (fulfilled)