diff --git a/config/routes/rider_api.yaml b/config/routes/rider_api.yaml index 4cf98d93..5650f044 100644 --- a/config/routes/rider_api.yaml +++ b/config/routes/rider_api.yaml @@ -39,3 +39,8 @@ rapi_payment: path: /rapi/payment controller: App\Controller\RAPIController::payment methods: [POST] + +rapi_promos: + path: /rapi/promos + controller: App\Controller\RAPIController::getPromos + methods: [GET] diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index 4dab01ff..8516f42c 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -293,6 +293,7 @@ class RAPIController extends Controller $cv = $jo->getCustomerVehicle(); $v = $cv->getVehicle(); $inv = $jo->getInvoice(); + $promo = $inv->getPromo(); // invoice items $inv_items = []; @@ -306,6 +307,23 @@ class RAPIController extends Controller ]; } + // promo + if ($promo != null) + { + $promo_data = [ + 'id' => $promo->getID(), + 'name' => $promo->getName(), + 'code' => $promo->getCode(), + 'discount_rate' => $promo->getDiscountRate(), + 'discount_apply' => $promo->getDiscountApply(), + ]; + } + else + { + $promo_data = null; + } + + $data = [ 'job_order' => [ 'id' => $jo->getID(), @@ -338,8 +356,7 @@ class RAPIController extends Controller 'items' => $inv_items, ], 'mode_of_payment' => $jo->getModeOfPayment(), - - + 'promo' => $promo_data, ] ]; } @@ -450,4 +467,31 @@ class RAPIController extends Controller // set jo status to fulfilled } + + public function getPromos(Request $req) + { + $em = $this->getDoctrine()->getManager(); + $required_params = []; + $res = $this->checkParamsAndKey($req, $em, $required_params); + if ($res->isError()) + return $res->getReturnResponse(); + + $promos = $em->getRepository(Promo::class)->findAll(); + + $promo_data = []; + foreach ($promos as $promo) + { + $promo_data[] = [ + 'id' => $promo->getID(), + 'name' => $promo->getName(), + 'code' => $promo->getCode(), + ]; + } + + $data = [ + 'promos' => $promo_data, + ]; + $res->setData($data); + return $res->getReturnResponse(); + } }