From ae46f9068c921bc24fb3d1f41ec4208304b8d2e5 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Tue, 30 Jan 2018 00:02:59 +0800 Subject: [PATCH] Add more API calls --- src/Controller/APIController.php | 43 ++++++++++++++++++++++++++++++++ src/Entity/Vehicle.php | 7 +----- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 0d7331ca..fec78d2d 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -612,6 +612,49 @@ class APIController extends Controller if ($res->isError()) return $res->getReturnResponse(); + // get vehicle + $vehicle = $em->getRepository(Vehicle::class)->find($vid); + if ($vehicle == null) + { + $res->setError(true) + ->setErrorMessage('Invalid vehicle'); + return $res->getReturnResponse(); + } + + // batteries + $batt_list = []; + $batts = $vehicle->getBatteries(); + foreach ($batts as $batt) + { + $batt_list[] = [ + 'id' => $batt->getID(), + 'mfg_id' => $batt->getManufacturer()->getID(), + 'mfg_name' => $batt->getManufacturer()->getName(), + 'model_id' => $batt->getModel()->getID(), + 'model_name' => $batt->getModel()->getName(), + 'size_id' => $batt->getSize()->getID(), + 'size_name' => $batt->getSize()->getName(), + 'price' => $batt->getSellingPrice(), + 'wty_personal' => $batt->getWarrantyPersonal(), + 'wty_commercial' => $batt->getWarrantyCommercial(), + ]; + } + + // data + $data = [ + 'vehicle' => [ + 'id' => $vehicle->getID(), + 'mfg_id' => $vehicle->getManufacturer()->getID(), + 'mfg_name' => $vehicle->getManufacturer()->getName(), + 'make' => $vehicle->getMake(), + 'model_year_from' => $vehicle->getModelYearFrom(), + 'model_year_to' => $vehicle->getModelYearTo(), + ], + 'batteries' => $batt_list, + ]; + $res->setData($data); + + return $res->getReturnResponse(); } diff --git a/src/Entity/Vehicle.php b/src/Entity/Vehicle.php index bae6148e..3f18430d 100644 --- a/src/Entity/Vehicle.php +++ b/src/Entity/Vehicle.php @@ -130,11 +130,6 @@ class Vehicle public function getBatteries() { - // has to return set of strings because symfony is trying to move away from role objects - $str_batteries = []; - foreach ($this->batteries as $battery) - $str_batteries[] = $this->getProductCode(); - - return $str_batteries; + return $this->batteries; } }