diff --git a/config/routes/tapi.yaml b/config/routes/tapi.yaml index fad92ed7..8042bccb 100644 --- a/config/routes/tapi.yaml +++ b/config/routes/tapi.yaml @@ -1,6 +1,24 @@ # third party api +# job order tapi_jo_request: path: /tapi/job_order controller: App\Controller\TAPI\JobOrderController::requestJobOrder methods: [POST] + +# vehicle manufacturer and vehicle +tapi_vehicle_mfg_list: + path: /tapi/vehicle/mfgs + controller: App\Controller\TAPI\VehicleController::listVehicleManufacturers + methods: [GET] + +tapi_vehicle_make_list: + path: /tapi/vehicle/mfgs/{mfg_id}/makes + controller: App\Controller\TAPI\VehicleController::listVehicleMakes + methods: [GET] + +# battery +tapi_battery_list: + path: /tapi/vehicles/{vid}/compatible_batteries + controller: App\Controller\TAPI\BatteryController::getCompatibleBatteries + methods: [GET] diff --git a/src/Controller/TAPI/BatteryController.php b/src/Controller/TAPI/BatteryController.php index 5423153b..f75f7e91 100644 --- a/src/Controller/TAPI/BatteryController.php +++ b/src/Controller/TAPI/BatteryController.php @@ -31,17 +31,16 @@ class BatteryController extends APIController // check required parameters and api key $required_params = []; - $res = $this->checkParamsAndKey($req, $em, $required_params); - if ($res->isError()) - return $res->getReturnResponse(); + $msg = $this->checkRequiredParameters($req, $required_params); + if ($msg) + return new APIResponse(false, $msg); // get vehicle $vehicle = $em->getRepository(Vehicle::class)->find($vid); if ($vehicle == null) { - $res->setError(true) - ->setErrorMessage('Invalid vehicle'); - return $res->getReturnResponse(); + $message = 'Invalid vehicle id.'; + return new APIResponse(false, $message); } // batteries @@ -77,9 +76,8 @@ class BatteryController extends APIController ], 'batteries' => $batt_list, ]; - $res->setData($data); - - return $res->getReturnResponse(); + $message = 'Compatible batteries found.'; + return new APIResponse(true, $message, $data); } } diff --git a/src/Controller/TAPI/JobOrderController.php b/src/Controller/TAPI/JobOrderController.php index 0127aadd..eccfe8f3 100644 --- a/src/Controller/TAPI/JobOrderController.php +++ b/src/Controller/TAPI/JobOrderController.php @@ -75,6 +75,8 @@ class JobOrderController extends APIController HubSelector $hub_select, HubDistributor $hub_dist, HubFilterLogger $hub_filter_logger, HubFilteringGeoChecker $hub_geofence, EntityManagerInterface $em) { + $this->denyAccessUnlessGranted('tapi_jo.request', null, 'No access.'); + // check required parameters and api key $required_params = [ 'service_type', diff --git a/src/Controller/TAPI/VehicleController.php b/src/Controller/TAPI/VehicleController.php index df471726..5e8bf122 100644 --- a/src/Controller/TAPI/VehicleController.php +++ b/src/Controller/TAPI/VehicleController.php @@ -29,11 +29,11 @@ class VehicleController extends APIController { $this->denyAccessUnlessGranted('tapi_vmanufacturer.list', null, 'No access.'); - // check required parameters and api key + // check required parameters $required_params = []; - $res = $this->checkParamsAndKey($req, $em, $required_params); - if ($res->isError()) - return $res->getReturnResponse(); + $msg = $this->checkRequiredParameters($req, $required_params); + if ($msg) + return new APIResponse(false, $msg); // get manufacturer list $mfgs = $em->getRepository(VehicleManufacturer::class)->findBy(['flag_mobile' => true], ['name' => 'asc']); @@ -49,9 +49,11 @@ class VehicleController extends APIController $data = [ 'manufacturers' => $mfg_list ]; - $res->setData($data); - return $res->getReturnResponse(); + $message = 'Vehicle manufacturers found.'; + + return new APIResponse(true, $message, $data); + } public function listVehicleMakes(Request $req, $mfg_id, EntityManagerInterface $em) @@ -60,17 +62,16 @@ class VehicleController extends APIController // check required parameters and api key $required_params = []; - $res = $this->checkParamsAndKey($req, $em, $required_params); - if ($res->isError()) - return $res->getReturnResponse(); + $msg = $this->checkRequiredParameters($req, $required_params); + if ($msg) + return new APIResponse(false, $msg); // get manufacturer $mfg = $em->getRepository(VehicleManufacturer::class)->find($mfg_id); if ($mfg == null) { - $res->setError(true) - ->setErrorMessage('Invalid vehicle manufacturer id'); - return $res->getReturnResponse(); + $message = 'Invalid vehicle manufacturer id.'; + return new APIResponse(false, $message); } // get makes @@ -88,7 +89,6 @@ class VehicleController extends APIController $vlist[] = [ 'id' => $v->getID(), 'make' => trim($v->getMake() . ' ' . $v->getModelYearFormatted(false)), - // 'make' => $v->getMake() . ' ' . $v->getModelYearFrom() . '-' . $v->getModelYearTo(), ]; } @@ -100,8 +100,8 @@ class VehicleController extends APIController 'makes' => $vlist, ]; - $res->setData($data); + $message = 'Vehicle models found.'; + return new APIResponse(true, $message, $data); - return $res->getReturnResponse(); } }