Remove guard on api routes, move all returns to base accessed methods #730

This commit is contained in:
Ramon Gutierrez 2023-02-07 09:11:17 +08:00
parent 9876165af5
commit 98705f99d4
17 changed files with 305 additions and 70 deletions

View file

@ -49,6 +49,10 @@ security:
pattern: ^\/test_capi\/ pattern: ^\/test_capi\/
security: false security: false
cust_api_v2:
pattern: ^\/apiv2\/
security: false
warranty_api: warranty_api:
pattern: ^\/capi\/ pattern: ^\/capi\/
provider: api_provider provider: api_provider

View file

@ -26,7 +26,7 @@ class ApiController extends BaseApiController
// load env file // load env file
$dotenv = new Dotenv(); $dotenv = new Dotenv();
$dotenv->loadEnv($kernel->getProjectDir() . '.env'); $dotenv->loadEnv($kernel->getProjectDir() . '/.env');
} }
protected function debugRequest(Request $req) protected function debugRequest(Request $req)
@ -35,12 +35,9 @@ class ApiController extends BaseApiController
error_log(print_r($all, true)); error_log(print_r($all, true));
} }
protected function validateParams(Request $req, $params = []) protected function hasMissingParams(Request $req, $params = [])
{ {
$missing = $this->checkRequiredParameters($req, $params); return $this->checkRequiredParameters($req, $params);
if ($missing) {
return new ApiResponse(false, $missing, []);
}
} }
protected function validateSession($api_key) protected function validateSession($api_key)
@ -48,16 +45,27 @@ class ApiController extends BaseApiController
// check if the session exists // check if the session exists
$session = $this->em->getRepository(MobileSession::class)->find($api_key); $session = $this->em->getRepository(MobileSession::class)->find($api_key);
if ($session === null) { if ($session === null) {
return new ApiResponse(false, 'Invalid API Key.'); return false;
} }
$this->session = $session; $this->session = $session;
return true;
} }
protected function validateRequest(Request $req, $params = []) protected function validateRequest(Request $req, $params = [])
{ {
$this->validateParams($req, $params); $error = $this->hasMissingParams($req, $params);
$this->validateSession($req->query->get('api_key'));
if (!$error) {
if (!$this->validateSession($req->query->get('api_key'))) {
$error = 'Invalid API Key.';
}
}
return [
'is_valid' => !$error,
'message' => $error,
];
} }
protected function findWarranty($plate_number) protected function findWarranty($plate_number)

View file

@ -10,10 +10,14 @@ class AppController extends ApiController
public function versionCheck(Request $req) public function versionCheck(Request $req)
{ {
// validate params // validate params
$this->validateParams($req, [ $missing = $this->hasMissingParams($req, [
'version', 'version',
]); ]);
if ($missing) {
return new ApiResponse(false, $missing);
}
$need_update = false; $need_update = false;
$msg = 'Version is up to date.'; $msg = 'Version is up to date.';

View file

@ -17,14 +17,19 @@ class AuthController extends ApiController
public function register(Request $req) public function register(Request $req)
{ {
// validate params // validate params
$this->validateParams($req, [ $missing = $this->hasMissingParams($req, [
'phone_model', 'phone_model',
'os_type', 'os_type',
'os_version', 'os_version',
'phone_id', 'phone_id',
]); ]);
if ($missing) {
return new ApiResponse(false, $missing);
}
// retry until we get a unique id // retry until we get a unique id
/*
while (true) { while (true) {
try { try {
// instantiate session // instantiate session
@ -54,20 +59,25 @@ class AuthController extends ApiController
break; break;
} }
*/
// return data // return data
return new ApiResponse(true, '', [ return new ApiResponse(true, '', [
'session_id' => $sess->getID(), 'session_id' => 123, //$sess->getID(),
]); ]);
} }
public function confirmNumber(RisingTideGateway $rt, Request $req, TranslatorInterface $translator) public function confirmNumber(RisingTideGateway $rt, Request $req, TranslatorInterface $translator)
{ {
// validate request // validate request
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'phone_number' 'phone_number'
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// phone number // phone number
$phone_number = $req->request->get('phone_number'); $phone_number = $req->request->get('phone_number');
@ -116,10 +126,14 @@ class AuthController extends ApiController
public function validateCode(Request $req) public function validateCode(Request $req)
{ {
// validate request // validate request
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'code' 'code',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// code is wrong // code is wrong
$code = $req->request->get('code'); $code = $req->request->get('code');
if ($this->session->getConfirmCode() != $code) { if ($this->session->getConfirmCode() != $code) {
@ -156,7 +170,11 @@ class AuthController extends ApiController
public function resendCode(Request $req, RisingTideGateway $rt, TranslatorInterface $translator) public function resendCode(Request $req, RisingTideGateway $rt, TranslatorInterface $translator)
{ {
// validate request // validate request
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// already confirmed // already confirmed
if ($this->session->isConfirmed()) { if ($this->session->isConfirmed()) {

View file

@ -15,7 +15,11 @@ class CustomerController extends ApiController
public function getInfo(Request $req) public function getInfo(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// if no customer found // if no customer found
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -40,11 +44,15 @@ class CustomerController extends ApiController
public function updateInfo(Request $req) public function updateInfo(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'first_name', 'first_name',
'last_name', 'last_name',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$cust = $this->updateCustomerInfo($req); $cust = $this->updateCustomerInfo($req);
$policy_mobile_id = $_ENV['POLICY_MOBILE']; $policy_mobile_id = $_ENV['POLICY_MOBILE'];
@ -64,7 +72,11 @@ class CustomerController extends ApiController
public function getStatus(Request $req) public function getStatus(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// set data // set data
$data = []; $data = [];
@ -105,7 +117,11 @@ class CustomerController extends ApiController
public function getCustomerHash(Request $req, HashGenerator $hash) public function getCustomerHash(Request $req, HashGenerator $hash)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();

View file

@ -10,10 +10,14 @@ class DeviceController extends ApiController
public function updateDeviceID(Request $req) public function updateDeviceID(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'device_id', 'device_id',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$device_id = $req->request->get('device_id'); $device_id = $req->request->get('device_id');
$this->session->setDevicePushID($device_id); $this->session->setDevicePushID($device_id);

View file

@ -16,13 +16,17 @@ class EstimateController extends ApiController
// $this->debugRequest($req); // $this->debugRequest($req);
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'service_type', 'service_type',
'cv_id', 'cv_id',
// 'batt_id', // 'batt_id',
'trade_in', 'trade_in',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// customer // customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
if ($cust == null) { if ($cust == null) {

View file

@ -41,7 +41,11 @@ class JobOrderController extends ApiController
public function getOngoing(Request $req) public function getOngoing(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -79,10 +83,14 @@ class JobOrderController extends ApiController
public function getJOInvoice(Request $req) public function getJOInvoice(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'jo_id', 'jo_id',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get job order // get job order
$jo_id = $req->query->get('jo_id'); $jo_id = $req->query->get('jo_id');
$jo = $this->em->getRepository(JobOrder::class)->find($jo_id); $jo = $this->em->getRepository(JobOrder::class)->find($jo_id);
@ -170,11 +178,15 @@ class JobOrderController extends ApiController
public function cancelJobOrder(Request $req, MQTTClient $mclient) public function cancelJobOrder(Request $req, MQTTClient $mclient)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'jo_id', 'jo_id',
'reason', 'reason',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get job order // get job order
$jo_id = $req->request->get('jo_id'); $jo_id = $req->request->get('jo_id');
$jo = $this->em->getRepository(JobOrder::class)->find($jo_id); $jo = $this->em->getRepository(JobOrder::class)->find($jo_id);
@ -225,7 +237,11 @@ class JobOrderController extends ApiController
public function getJobOrderInfo($id, Request $req, RiderTracker $rt) public function getJobOrderInfo($id, Request $req, RiderTracker $rt)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -256,7 +272,11 @@ class JobOrderController extends ApiController
public function getJOHistory(Request $req) public function getJOHistory(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -364,7 +384,11 @@ class JobOrderController extends ApiController
public function getLatestJobOrder(Request $req, RiderTracker $rt) public function getLatestJobOrder(Request $req, RiderTracker $rt)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -390,7 +414,11 @@ class JobOrderController extends ApiController
public function getAllOngoingJobOrders(Request $req, RiderTracker $rt) public function getAllOngoingJobOrders(Request $req, RiderTracker $rt)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -415,7 +443,11 @@ class JobOrderController extends ApiController
public function getOngoingJobOrderCount(Request $req) public function getOngoingJobOrderCount(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -446,7 +478,7 @@ class JobOrderController extends ApiController
HubFilteringGeoChecker $hub_geofence HubFilteringGeoChecker $hub_geofence
) { ) {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'service_type', 'service_type',
'cv_id', 'cv_id',
'trade_in', 'trade_in',
@ -456,6 +488,10 @@ class JobOrderController extends ApiController
'mode_of_payment', 'mode_of_payment',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// trade in type // trade in type
$trade_in = $req->request->get('trade_in'); $trade_in = $req->request->get('trade_in');
@ -898,7 +934,7 @@ class JobOrderController extends ApiController
HubFilteringGeoChecker $hub_geofence HubFilteringGeoChecker $hub_geofence
) { ) {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'service_type', 'service_type',
'cv_id', 'cv_id',
// 'batt_id', // 'batt_id',
@ -909,6 +945,10 @@ class JobOrderController extends ApiController
'mode_of_payment', 'mode_of_payment',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// trade in type // trade in type
$trade_in = $req->request->get('trade_in'); $trade_in = $req->request->get('trade_in');
@ -1210,7 +1250,11 @@ class JobOrderController extends ApiController
public function getCompletedJobOrders(Request $req, EntityManagerInterface $em, RiderTracker $rt) public function getCompletedJobOrders(Request $req, EntityManagerInterface $em, RiderTracker $rt)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();

View file

@ -22,11 +22,15 @@ class LocationController extends ApiController
public function locationSupport(Request $req, GeofenceTracker $geo) public function locationSupport(Request $req, GeofenceTracker $geo)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'longitude', 'longitude',
'latitude', 'latitude',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$long = $req->query->get('longitude'); $long = $req->query->get('longitude');
$lat = $req->query->get('latitude'); $lat = $req->query->get('latitude');
@ -71,11 +75,15 @@ class LocationController extends ApiController
MapTools $map_tools MapTools $map_tools
) { ) {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'longitude', 'longitude',
'latitude', 'latitude',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$coordinates = new Point($req->query->get('longitude'), $req->query->get('latitude')); $coordinates = new Point($req->query->get('longitude'), $req->query->get('latitude'));
// add checking if customer has a pre-registered hub // add checking if customer has a pre-registered hub
@ -119,7 +127,7 @@ class LocationController extends ApiController
public function addLocation(Request $req) public function addLocation(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'name', 'name',
'address', 'address',
'longitude', 'longitude',
@ -127,6 +135,10 @@ class LocationController extends ApiController
'landmark', 'landmark',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
if ($cust == null) { if ($cust == null) {
@ -176,7 +188,11 @@ class LocationController extends ApiController
public function getLocations(Request $req) public function getLocations(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();

View file

@ -13,7 +13,11 @@ class PartnerController extends ApiController
public function getPartnerInformation(Request $req, $pid) public function getPartnerInformation(Request $req, $pid)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get partner // get partner
$partner = $this->em->getRepository(Partner::class)->findOneBy(['id' => $pid]); $partner = $this->em->getRepository(Partner::class)->findOneBy(['id' => $pid]);
@ -56,13 +60,17 @@ class PartnerController extends ApiController
public function getClosestPartners(Request $req) public function getClosestPartners(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'longitude', 'longitude',
'latitude', 'latitude',
'service_id', 'service_id',
'limit', 'limit',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$long = $req->query->get('longitude'); $long = $req->query->get('longitude');
$lat = $req->query->get('latitude'); $lat = $req->query->get('latitude');
$service_id = $req->query->get('service_id'); $service_id = $req->query->get('service_id');
@ -120,11 +128,15 @@ class PartnerController extends ApiController
public function reviewPartner($pid, Request $req) public function reviewPartner($pid, Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'rating', 'rating',
'message', 'message',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$rating = $req->request->get('rating'); $rating = $req->request->get('rating');
$msg = $req->request->get('message'); $msg = $req->request->get('message');

View file

@ -12,11 +12,15 @@ class PrivacyController extends ApiController
public function privacySettings(Request $req) public function privacySettings(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'priv_third_party', 'priv_third_party',
// 'priv_promo', // 'priv_promo',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
if ($cust == null) { if ($cust == null) {

View file

@ -10,7 +10,11 @@ class PromoController extends ApiController
public function listPromos(Request $req) public function listPromos(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// response // response
return new ApiResponse(); return new ApiResponse();

View file

@ -17,7 +17,11 @@ class RiderController extends ApiController
public function getRiderStatus(Request $req, RiderTracker $rt) public function getRiderStatus(Request $req, RiderTracker $rt)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -159,11 +163,15 @@ class RiderController extends ApiController
public function addRiderRating(Request $req) public function addRiderRating(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'jo_id', 'jo_id',
'rating', 'rating',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
if ($cust == null) { if ($cust == null) {

View file

@ -12,7 +12,11 @@ class ScheduleController extends ApiController
public function scheduleOptionStatus(Request $req) public function scheduleOptionStatus(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$schedule_choice = true; $schedule_choice = true;

View file

@ -10,7 +10,11 @@ class ServiceController extends ApiController
public function listServices(Request $req) public function listServices(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// services // services
$results = $this->em->getRepository(Service::class)->findAll(); $results = $this->em->getRepository(Service::class)->findAll();

View file

@ -16,7 +16,11 @@ class VehicleController extends ApiController
public function listVehicleManufacturers(Request $req) public function listVehicleManufacturers(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get manufacturer list // get manufacturer list
$mfgs = $this->em->getRepository(VehicleManufacturer::class)->findBy(['flag_mobile' => true], ['name' => 'asc']); $mfgs = $this->em->getRepository(VehicleManufacturer::class)->findBy(['flag_mobile' => true], ['name' => 'asc']);
@ -37,7 +41,11 @@ class VehicleController extends ApiController
public function listVehicleMakes(Request $req, $mfg_id) public function listVehicleMakes(Request $req, $mfg_id)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get manufacturer // get manufacturer
$mfg = $this->em->getRepository(VehicleManufacturer::class)->find($mfg_id); $mfg = $this->em->getRepository(VehicleManufacturer::class)->find($mfg_id);
@ -77,19 +85,36 @@ class VehicleController extends ApiController
public function addVehicle(Request $req) public function addVehicle(Request $req)
{ {
// check requirements // check requirements
$this->checkVehicleRequirements($req); $validity = $this->checkVehicleRequirements($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// customer vehicle // customer vehicle
$cv = new CustomerVehicle(); $cv = new CustomerVehicle();
// set object and return // set object
$this->setCustomerVehicleObject($req, $cv); $res = $this->setCustomerVehicleObject($req, $cv);
if (!$res['success']) {
return new ApiResponse(false, $res['error']);
}
// response
return new ApiResponse(true, '', [
'cv_id' => $res['cv_id'],
]);
} }
public function updateVehicle(Request $req, $id) public function updateVehicle(Request $req, $id)
{ {
// check requirements // check requirements
$this->checkVehicleRequirements($req); $validity = $this->checkVehicleRequirements($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer vehicle // get customer vehicle
$cv = $this->em->getRepository(CustomerVehicle::class)->find($id); $cv = $this->em->getRepository(CustomerVehicle::class)->find($id);
@ -104,14 +129,26 @@ class VehicleController extends ApiController
return new ApiResponse(false, 'Invalid vehicle.'); return new ApiResponse(false, 'Invalid vehicle.');
} }
// set object and return // set object
$this->setCustomerVehicleObject($req, $cv); $res = $this->setCustomerVehicleObject($req, $cv);
if (!$res['success']) {
return new ApiResponse(false, $res['error']);
}
// response
return new ApiResponse(true, '', [
'cv_id' => $res['cv_id'],
]);
} }
public function listVehicles(Request $req) public function listVehicles(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// customer // customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -167,7 +204,11 @@ class VehicleController extends ApiController
public function getCompatibleBatteries(Request $req, $vid) public function getCompatibleBatteries(Request $req, $vid)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get vehicle // get vehicle
$vehicle = $this->em->getRepository(Vehicle::class)->find($vid); $vehicle = $this->em->getRepository(Vehicle::class)->find($vid);
@ -212,7 +253,11 @@ class VehicleController extends ApiController
public function removeVehicle($id, Request $req) public function removeVehicle($id, Request $req)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// get customer // get customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
@ -243,7 +288,7 @@ class VehicleController extends ApiController
protected function checkVehicleRequirements(Request $req) protected function checkVehicleRequirements(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ return $this->validateRequest($req, [
'make_id', 'make_id',
'name', 'name',
'plate_num', 'plate_num',
@ -267,13 +312,19 @@ class VehicleController extends ApiController
// check customer // check customer
$cust = $this->session->getCustomer(); $cust = $this->session->getCustomer();
if ($cust == null) { if ($cust == null) {
return new ApiResponse(false, 'No customer information found.'); return [
'success' => false,
'error' => 'No customer information found.',
];
} }
// get vehicle // get vehicle
$vehicle = $this->em->getRepository(Vehicle::class)->find($req->request->get('make_id')); $vehicle = $this->em->getRepository(Vehicle::class)->find($req->request->get('make_id'));
if ($vehicle == null) { if ($vehicle == null) {
return new ApiResponse(false, 'Invalid vehicle make id.'); return [
'success' => false,
'error' => 'Invalid vehicle make id.',
];
} }
$cv->setCustomer($cust) $cv->setCustomer($cust)
@ -311,9 +362,10 @@ class VehicleController extends ApiController
$this->em->flush(); $this->em->flush();
// response // response
return new ApiResponse(true, '', [ return [
'success' => true,
'cv_id' => $cv->getID(), 'cv_id' => $cv->getID(),
]); ];
} }
protected function normalizeString($string) protected function normalizeString($string)

View file

@ -20,10 +20,14 @@ class WarrantyController extends ApiController
public function activateWarranty(Request $req) public function activateWarranty(Request $req)
{ {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'plate_number', 'plate_number',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
$plate_number = $req->request->get('plate_number'); $plate_number = $req->request->get('plate_number');
// find warranty using plate number // find warranty using plate number
@ -51,7 +55,11 @@ class WarrantyController extends ApiController
public function warrantyCheck($serial, Request $req, WarrantyRaffleLogger $raffle_logger) public function warrantyCheck($serial, Request $req, WarrantyRaffleLogger $raffle_logger)
{ {
// validate params // validate params
$this->validateRequest($req); $validity = $this->validateRequest($req);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// check if warranty serial is there // check if warranty serial is there
$serial = $this->cleanSerial($serial); $serial = $this->cleanSerial($serial);
@ -264,13 +272,17 @@ class WarrantyController extends ApiController
WarrantyAPILogger $logger WarrantyAPILogger $logger
) { ) {
// validate params // validate params
$this->validateRequest($req, [ $validity = $this->validateRequest($req, [
'first_name', 'first_name',
'last_name', 'last_name',
'plate_number', 'plate_number',
'date_purchase', 'date_purchase',
]); ]);
if (!$validity['is_valid']) {
return new ApiResponse(false, $validity['error']);
}
// handle file uploads // handle file uploads
$invoice = $req->files->get('invoice'); $invoice = $req->files->get('invoice');
$warr_card = $req->files->get('warr_card'); $warr_card = $req->files->get('warr_card');
@ -312,6 +324,9 @@ class WarrantyController extends ApiController
$source, $source,
$raffle_logger $raffle_logger
); );
if (!$res['success']) {
return new ApiResponse(false, $res['error']);
}
$this->em->flush(); $this->em->flush();
@ -403,7 +418,10 @@ class WarrantyController extends ApiController
// get serial // get serial
$warr_serial = $this->em->getRepository(WarrantySerial::class)->find($serial); $warr_serial = $this->em->getRepository(WarrantySerial::class)->find($serial);
if ($warr_serial == null) { if ($warr_serial == null) {
return new ApiResponse(false, 'Invalid warranty serial code.'); return [
'success' => false,
'error' => 'Invalid warranty serial code.',
];
} }
// check if warranty exists already // check if warranty exists already
@ -431,7 +449,10 @@ class WarrantyController extends ApiController
$logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source); $logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source);
// response // response
return new ApiResponse(false, $error_msg); return [
'success' => false,
'error' => $error_msg,
];
} }
$sms_msg = $trans->trans('warranty_update_confirm'); $sms_msg = $trans->trans('warranty_update_confirm');
@ -459,7 +480,10 @@ class WarrantyController extends ApiController
$logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source); $logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source);
// response // response
return new ApiResponse(false, $error_msg); return [
'success' => false,
'error' => $error_msg,
];
} }
} }
@ -474,7 +498,10 @@ class WarrantyController extends ApiController
$logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source); $logger->logWarrantyInfo($log_data, $error_msg, $user_id, $action, $source);
// response // response
return new ApiResponse(false, $error_msg); return [
'success' => false,
'error' => $error_msg,
];
} }
$customer = $this->session->getCustomer(); $customer = $this->session->getCustomer();
@ -562,7 +589,9 @@ class WarrantyController extends ApiController
$raffle_logger->logRaffleInfo($data_sent, $raffle_data); $raffle_logger->logRaffleInfo($data_sent, $raffle_data);
// response // response
return new ApiResponse(); return [
'success' => true,
];
} }
protected function findCustomerVehicle($customer, $plate_number) protected function findCustomerVehicle($customer, $plate_number)