From aa1a2b3bcb8daf057952ca2e9f94e9e67d4b1fcc Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Fri, 31 Jan 2020 09:04:04 +0000 Subject: [PATCH] Move the hubArrive function to the service. #311 --- src/Controller/RAPIController.php | 28 +++++++++---------- .../RiderAPIHandler/CMBRiderAPIHandler.php | 23 +++++++++++++++ .../RiderAPIHandler/ResqRiderAPIHandler.php | 23 +++++++++++++++ src/Service/RiderAPIHandlerInterface.php | 2 ++ 4 files changed, 61 insertions(+), 15 deletions(-) diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index c1bc1649..45814b6b 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -336,27 +336,25 @@ class RAPIController extends Controller return $res->getReturnResponse(); } - public function hubArrive(Request $req) + public function hubArrive(Request $req, RiderAPIHandlerInterface $rapi_handler) { - $required_params = []; - $em = $this->getDoctrine()->getManager(); - $res = $this->checkParamsAndKey($req, $em, $required_params); - if ($res->isError()) - return $res->getReturnResponse(); + $res = new APIResult(); - // are we logged in? - if (!$this->session->hasRider()) + $data = $rapi_handler->hubArrive($req); + + if (isset($data['error'])) { + $message = $data['error']; + $res->setError(true) - ->setErrorMessage('No logged in rider.'); - return $res->getReturnResponse(); + ->setErrorMessage($message); + } + else + { + $res->setData($data); } - // TODO: tag rider as available - - $em->flush(); - - + // response return $res->getReturnResponse(); } diff --git a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php index 6993aae0..e1d709ca 100644 --- a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php @@ -449,6 +449,29 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface return $data; } + public function hubArrive(Request $req) + { + $required_params = []; + $data = $this->checkParamsAndKey($req, $required_params); + if (isset($data['error'])) + return $data; + + // are we logged in? + if (!$this->session->hasRider()) + { + $data = [ + 'error' => 'No logged in rider.' + ]; + return $data; + } + + // TODO: tag rider as available + + $this->em->flush(); + + return $data; + } + protected function checkMissingParameters(Request $req, $params = []) { $missing = []; diff --git a/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php b/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php index 59a62441..8d56de91 100644 --- a/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php @@ -446,6 +446,29 @@ class ResqRiderAPIHandler implements RiderAPIHandlerInterface return $data; } + public function hubArrive(Request $req) + { + $required_params = []; + $data = $this->checkParamsAndKey($req, $required_params); + if (isset($data['error'])) + return $data; + + // are we logged in? + if (!$this->session->hasRider()) + { + $data = [ + 'error' => 'No logged in rider.' + ]; + return $data; + } + + // TODO: tag rider as available + + $this->em->flush(); + + return $data; + } + protected function checkMissingParameters(Request $req, $params = []) { $missing = []; diff --git a/src/Service/RiderAPIHandlerInterface.php b/src/Service/RiderAPIHandlerInterface.php index a634d979..740844b4 100644 --- a/src/Service/RiderAPIHandlerInterface.php +++ b/src/Service/RiderAPIHandlerInterface.php @@ -19,4 +19,6 @@ interface RiderAPIHandlerInterface public function cancelJobOrder(Request $req); public function arrive(Request $req); + + public function hubArrive(Request $req); }