From fe97a26ebb794d2157ec164ae68283777da73874 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Wed, 11 Jun 2025 19:22:13 +0500 Subject: [PATCH] ok --- .../Api/CardOrder/CardOrderController.php | 13 ++++++++++++- routes/api.php | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/CardOrder/CardOrderController.php b/app/Http/Controllers/Api/CardOrder/CardOrderController.php index c021c47..72e2312 100644 --- a/app/Http/Controllers/Api/CardOrder/CardOrderController.php +++ b/app/Http/Controllers/Api/CardOrder/CardOrderController.php @@ -7,7 +7,9 @@ use App\Http\Controllers\Api\CardOrder\Requests\CardOrderUpdateRequest; use App\Http\Controllers\Api\CardOrder\Resources\CardOrderIndexResource; use App\Http\Controllers\Controller; use App\Models\Order\Card\CardOrder; +use App\Repos\Order\Card\CardOrderRepo; use App\Repos\Order\OrderRepo; +use App\Repos\Payment\OnlinePaymentRepo; use Dedoc\Scramble\Attributes\Group; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\JsonResponse; @@ -36,7 +38,8 @@ class CardOrderController extends Controller public function store(CardOrderStoreRequest $request): JsonResponse { $data = $request->validated(); - CardOrder::forceCreate([ + + $model = CardOrder::forceCreate([ ...$data, ...[ 'user_id' => auth()->id(), @@ -46,8 +49,16 @@ class CardOrderController extends Controller ...$this->uploadedFiles($request), ]); + CardOrderRepo::created()($model); + + $payment = (new OnlinePaymentRepo)->payCardOrder($model); + return response()->json([ 'message' => __('Successfully created'), + 'payment' => [ + 'status' => $payment['status'] === 'success', + 'url' => $payment['status'] === 'success' ? $payment['url'] : '', + ], ], 201); } diff --git a/routes/api.php b/routes/api.php index c6b3ede..ef79f38 100644 --- a/routes/api.php +++ b/routes/api.php @@ -59,11 +59,11 @@ Route::get('provinces', [ProvinceController::class, 'index']); Route::get('base-app-enums', [BaseAppEnumController::class, 'index']); Route::middleware(['auth:sanctum', 'not_banned'])->group(function () { - // Profile... + // Profile... [tested fully] Route::get('profile', [ProfileController::class, 'index']); Route::post('profile', [ProfileController::class, 'store']); - // Metrics... + // Metrics... [tested fully] Route::get('/metrics', [MetricsController::class, 'index']); // Loan order... [tested expect: update]