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 // response
return new ApiResponse(true, '', [ 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 // only get the customer's vehicles whose flag_active is true
$cvs = $this->em->getRepository(CustomerVehicle::class)->findBy(['flag_active' => true, 'customer' => $cust]); $cvs = $this->em->getRepository(CustomerVehicle::class)->findBy(['flag_active' => true, 'customer' => $cust]);
foreach ($cvs as $cv) { foreach ($cvs as $cv) {
$cv_list[] = $this->generateVehicleInfo($cv, true, $paymongo); $cv_list[] = $this->generateVehicleInfo($cv, true, true, $paymongo);
} }
// response // 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; $battery_id = null;
if ($cv->getCurrentBattery() != null) if ($cv->getCurrentBattery() != null)
@ -437,6 +437,8 @@ class VehicleController extends ApiController
'cv_id' => $cv->getID(), 'cv_id' => $cv->getID(),
'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(), 'mfg_id' => $cv->getVehicle()->getManufacturer()->getID(),
'make_id' => $cv->getVehicle()->getID(), 'make_id' => $cv->getVehicle()->getID(),
'mfg_name' => $cv->getVehicle()->getManufacturer()->getName(),
'make_name' => $cv->getVehicle()->getMake(),
'name' => $cv_name, 'name' => $cv_name,
'plate_num' => $cv->getPlateNumber(), 'plate_num' => $cv->getPlateNumber(),
'model_year' => $cv->getModelYear(), 'model_year' => $cv->getModelYear(),
@ -506,6 +508,17 @@ class VehicleController extends ApiController
$row['latest_insurance'] = $insurance; $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; return $row;
} }