From f43c20482efa8353762cd63b7356edf062982dd1 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Thu, 18 Jul 2019 05:59:33 +0000 Subject: [PATCH] Restructure the response to get vehicle for API. #230 --- src/Controller/CAPI/VehicleController.php | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/Controller/CAPI/VehicleController.php b/src/Controller/CAPI/VehicleController.php index ab0ed286..e28fbe88 100644 --- a/src/Controller/CAPI/VehicleController.php +++ b/src/Controller/CAPI/VehicleController.php @@ -48,19 +48,37 @@ class VehicleController extends APIController { $this->denyAccessUnlessGranted('vehicle.list', null, 'No access.'); + // get manufacturers + $mfgs = $em->getRepository(VehicleManufacturer::class)->findBy([], ['name' => 'ASC']); + + // get vehicles $vehicles = $em->getRepository(Vehicle::class)->findBy([], ['manufacturer' => 'ASC', 'make' => 'ASC']); - $result = []; - foreach ($vehicles as $v) + // process manufacturer results + $mfg_data = []; + foreach($mfgs as $mfg) { - $result[] = [ - 'id' => $v->getID(), - 'name' => $v->getMake() . ' ' . $v->getModelYearFormatted(), + $mfg_data[] = [ + 'id' => $mfg->getID(), + 'name' => $mfg->getName(), + ]; + } + + // process vehicle results + $make_data = []; + foreach($vehicles as $vehicle) + { + $make_data[] = [ + 'id' => $vehicle->getID(), + 'mfg_id' => $vehicle->getManufacturer()->getID(), + 'make' => $vehicle->getMake(), + 'model' => $vehicle->getModelYearFormatted(), ]; } $data = [ - 'vehicles' => $result, + 'manufacturers' => $mfg_data, + 'vehicles' => $make_data, ]; return new APIResponse(true, 'Vehicles loaded.', $data);