Restructure the response to get vehicle for API. #230

This commit is contained in:
Korina Cordero 2019-07-18 05:59:33 +00:00
parent 83fa1706b4
commit f43c20482e

View file

@ -48,19 +48,37 @@ class VehicleController extends APIController
{ {
$this->denyAccessUnlessGranted('vehicle.list', null, 'No access.'); $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']); $vehicles = $em->getRepository(Vehicle::class)->findBy([], ['manufacturer' => 'ASC', 'make' => 'ASC']);
$result = []; // process manufacturer results
foreach ($vehicles as $v) $mfg_data = [];
foreach($mfgs as $mfg)
{ {
$result[] = [ $mfg_data[] = [
'id' => $v->getID(), 'id' => $mfg->getID(),
'name' => $v->getMake() . ' ' . $v->getModelYearFormatted(), '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 = [ $data = [
'vehicles' => $result, 'manufacturers' => $mfg_data,
'vehicles' => $make_data,
]; ];
return new APIResponse(true, 'Vehicles loaded.', $data); return new APIResponse(true, 'Vehicles loaded.', $data);