Subscription Module Update

Payment Code for renewal
This commit is contained in:
Leonard Biano
2024-07-30 00:15:08 +08:00
parent 0260df6c6f
commit 14b069d144
18 changed files with 538 additions and 74 deletions
@@ -55,8 +55,7 @@ class PaymentCodeController extends Controller
{
$request->validate([
'subscription_plan_price_id' => 'required|exists:subscription_plan_prices,id',
'start_date' => 'required',
'end_date' => 'required',
'type' => 'required',
'addons' => 'nullable|array',
'addons.*.description' => 'required',
'addons.*.price' => 'required|numeric',
@@ -85,8 +84,7 @@ class PaymentCodeController extends Controller
{
$request->validate([
'subscription_plan_price_id' => 'required|exists:subscription_plan_prices,id',
'start_date' => 'required',
'end_date' => 'required',
'type' => 'required',
'addons' => 'nullable|array',
'addons.*.description' => 'required',
'addons.*.price' => 'required|numeric',
@@ -114,22 +112,22 @@ class PaymentCodeController extends Controller
{
try {
$ret = $this->subscriptionCouponsRepository->delete($request->id);
$ret = $this->paymentCodeRepository->delete($request->id);
if ($ret === true) {
return response()->json([
'message' => 'Coupon has been successfully deleted.'
'message' => 'Payment Code has been successfully deleted.'
]);
}
else {
if ($ret == 'in_use') {
return response()->json([
'message' => 'Unable to delete coupon. Coupon is in use.'
'message' => 'Unable to delete payment code. Payment Code is in use.'
], 403);
}
else {
return response()->json([
'message' => 'Failed to delete coupon. Coupon not found.'
'message' => 'Failed to delete payment code. Payment Code not found.'
], 500);
}
}
@@ -140,4 +138,40 @@ class PaymentCodeController extends Controller
], 500);
}
}
public function apply(Request $request) {
$request->validate([
'code' => 'required',
'user_id' => 'nullable'
]);
try {
return $this->paymentCodeRepository->apply($request->code);
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage()
], 500);
}
}
public function validate(Request $request)
{
$request->validate([
'code' => 'required'
]);
try {
return $this->paymentCodeRepository->validate($request->code);
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage()
], 500);
}
}
}