acl_gen = $acl_gen; } public function listVehicleManufacturers(Request $req, EntityManagerInterface $em) { $this->denyAccessUnlessGranted('tapi_vmanufacturer.list', null, 'No access.'); // check required parameters $required_params = []; $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']); $mfg_list = []; foreach ($mfgs as $mfg) { $mfg_list[] = [ 'id' => $mfg->getID(), 'name' => $mfg->getName(), ]; } $data = [ 'manufacturers' => $mfg_list ]; $message = 'Vehicle manufacturers found.'; return new APIResponse(true, $message, $data); } public function listVehicleMakes(Request $req, $mfg_id, EntityManagerInterface $em) { $this->denyAccessUnlessGranted('tapi_vehicle.list', null, 'No access.'); // check required parameters and api key $required_params = []; $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) { $message = 'Invalid vehicle manufacturer id.'; return new APIResponse(false, $message); } // get makes $vehicles = $em->getRepository(Vehicle::class)->findBy( [ 'flag_mobile' => true, 'manufacturer' => $mfg_id, ], ['make' => 'asc'] ); $vlist = []; foreach ($vehicles as $v) { $vlist[] = [ 'id' => $v->getID(), 'make' => trim($v->getMake() . ' ' . $v->getModelYearFormatted(false)), ]; } $data = [ 'manufacturer' => [ 'id' => $mfg->getID(), 'name' => $mfg->getName(), ], 'makes' => $vlist, ]; $message = 'Vehicle models found.'; return new APIResponse(true, $message, $data); } }