Pārlūkot izejas kodu

feat: add preco min de diaria configuravel no backend

Gustavo Mantovani 2 nedēļas atpakaļ
vecāks
revīzija
f47cb6158a

+ 2 - 0
.env.example

@@ -41,6 +41,8 @@ BROADCAST_DRIVER=log
 
 SANCTUM_STATEFUL_DOMAINS=localhost
 
+PROVIDER_DAILY_PRICE_MIN=18
+
 #
 
 PAGARME_BASE_URL=https://api.pagar.me/core/v5

+ 9 - 2
app/Http/Controllers/ProviderController.php

@@ -122,8 +122,6 @@ class ProviderController extends Controller
         );
     }
 
-    //
-
     public function updateBankAccount(ProviderBankAccountRequest $request, int $id): JsonResponse
     {
         $item = $this->service->updateBankAccount($id, $request->validated()['recipient_default_bank_account']);
@@ -133,4 +131,13 @@ class ProviderController extends Controller
             message: __('messages.updated'),
         );
     }
+
+    //
+
+    public function dailyPriceMin(): JsonResponse
+    {
+        return $this->successResponse(payload: [
+            'daily_price_min' => (float) config('provider.daily_price_min'),
+        ]);
+    }
 }

+ 3 - 1
app/Http/Requests/ProviderRequest.php

@@ -13,6 +13,8 @@ class ProviderRequest extends FormRequest
     {
         $providerId = $this->route('id');
 
+        $dailyPriceMin = config('provider.daily_price_min');
+
         $rules = [
             'document' => [
                 'sometimes',
@@ -66,7 +68,7 @@ class ProviderRequest extends FormRequest
             'selfie_verified'        => 'sometimes|boolean',
             'document_verified'      => 'sometimes|boolean',
             'approval_status'        => ['sometimes', Rule::enum(ApprovalStatusEnum::class)],
-            'daily_price_8h'         => 'sometimes|nullable|numeric|min:3|max:500',
+            'daily_price_8h'         => "sometimes|nullable|numeric|min:{$dailyPriceMin}|max:500",
             'daily_price_6h'         => 'sometimes|nullable|numeric',
             'daily_price_4h'         => 'sometimes|nullable|numeric',
             'daily_price_2h'         => 'sometimes|nullable|numeric',

+ 3 - 1
app/Http/Requests/RegisterProviderRequest.php

@@ -10,6 +10,8 @@ class RegisterProviderRequest extends FormRequest
 {
   public function rules(): array
   {
+    $dailyPriceMin = config('provider.daily_price_min');
+
     $rules = [
       'email'      => 'sometimes|email',
       'phone'      => 'sometimes|string|nullable|max:20',
@@ -52,7 +54,7 @@ class RegisterProviderRequest extends FormRequest
       'city'           => 'nullable|string|max:255',
       'state'          => 'nullable|string|max:2',
 
-      'daily_price_8h' => 'required|numeric|min:3|max:500',
+      'daily_price_8h' => "required|numeric|min:{$dailyPriceMin}|max:500",
       'daily_price_6h' => 'required|numeric|min:0',
       'daily_price_4h' => 'required|numeric|min:0',
       'daily_price_2h' => 'required|numeric|min:0',

+ 5 - 0
config/provider.php

@@ -0,0 +1,5 @@
+<?php
+
+return [
+    'daily_price_min' => (float) env('PROVIDER_DAILY_PRICE_MIN', 18),
+];

+ 6 - 0
routes/noAuthRoutes/provider.php

@@ -0,0 +1,6 @@
+<?php
+
+use App\Http\Controllers\ProviderController;
+use Illuminate\Support\Facades\Route;
+
+Route::get('/provider/daily-price-min', [ProviderController::class, 'dailyPriceMin']);