Fix the responses for the api calls for vehicle and battery. #686

This commit is contained in:
Korina Cordero 2022-06-20 10:20:42 +00:00
parent fb91d462ff
commit 5b32349437
4 changed files with 42 additions and 24 deletions

View file

@ -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]

View file

@ -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);
}
}

View file

@ -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',

View file

@ -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();
}
}