Retrieve subscription data with customer vehicle info endpoint #799

This commit is contained in:
Ramon Gutierrez 2024-05-05 07:13:07 +08:00
parent 2ccd1e0e2d
commit 48d87ae119

View file

@ -139,7 +139,7 @@ class VehicleController extends ApiController
// response
return new ApiResponse(true, '', [
'vehicle' => $this->generateVehicleInfo($cv, true, $paymongo),
'vehicle' => $this->generateVehicleInfo($cv, true, true, $paymongo),
]);
}
@ -231,7 +231,7 @@ class VehicleController extends ApiController
// only get the customer's vehicles whose flag_active is true
$cvs = $this->em->getRepository(CustomerVehicle::class)->findBy(['flag_active' => true, 'customer' => $cust]);
foreach ($cvs as $cv) {
$cv_list[] = $this->generateVehicleInfo($cv, true, $paymongo);
$cv_list[] = $this->generateVehicleInfo($cv, true, true, $paymongo);
}
// response
@ -417,7 +417,7 @@ class VehicleController extends ApiController
];
}
protected function generateVehicleInfo(CustomerVehicle $cv, $include_insurance = false, PayMongoConnector $paymongo)
protected function generateVehicleInfo(CustomerVehicle $cv, $include_insurance = false, $include_active_sub = false, PayMongoConnector $paymongo)
{
$battery_id = null;
if ($cv->getCurrentBattery() != null)
@ -437,6 +437,8 @@ class VehicleController extends ApiController
'cv_id' => $cv->getID(),
'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(),
'make_id' => $cv->getVehicle()->getID(),
'mfg_name' => $cv->getVehicle()->getManufacturer()->getName(),
'make_name' => $cv->getVehicle()->getMake(),
'name' => $cv_name,
'plate_num' => $cv->getPlateNumber(),
'model_year' => $cv->getModelYear(),
@ -506,6 +508,17 @@ class VehicleController extends ApiController
$row['latest_insurance'] = $insurance;
}
// get active subscription row
if ($include_active_sub) {
$active_sub = null;
$sobj = $cv->getLatestActiveSubscription();
if (!empty($sobj)) {
}
$row['active_subscription'] = $active_sub;
}
return $row;
}