Explorar el Código

feat(treasury): add validation rules to account request

Required name/treasury_type on create, optional bank fields, and
constrained bank_type_account (corrente/poupanca).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ebagabee hace 1 mes
padre
commit
927ac22c8b
Se han modificado 1 ficheros con 13 adiciones y 21 borrados
  1. 13 21
      app/Http/Requests/TreasuryAccountRequest.php

+ 13 - 21
app/Http/Requests/TreasuryAccountRequest.php

@@ -3,32 +3,24 @@
 namespace App\Http\Requests;
 
 use Illuminate\Foundation\Http\FormRequest;
+use Illuminate\Validation\Rule;
 
 class TreasuryAccountRequest extends FormRequest
 {
     public function rules(): array
     {
-        $rules = [
-            // Add your validation rules here
-            //'field' => 'sometimes|string|max:255',
-        ];
-
-        // Different rules for creation
-        //if ($this->isMethod('POST')) {
-            // Make fields required if needed
-            // $rules['field'] = 'required|string|max:255';
-        //}
+        $isCreate = $this->isMethod('POST');
 
-        return $rules;
+        return [
+            'name'              => [$isCreate ? 'required' : 'sometimes', 'string', 'max:255'],
+            'treasury_type'     => [$isCreate ? 'required' : 'sometimes', 'string', Rule::in(['bank'])],
+            'bank_name'         => ['nullable', 'string', 'max:255'],
+            'bank_agency'       => ['nullable', 'string', 'max:50'],
+            'bank_account'      => ['nullable', 'string', 'max:50'],
+            'bank_type_account' => ['nullable', 'string', Rule::in(['corrente', 'poupanca'])],
+            'active'            => ['sometimes', 'boolean'],
+            // unit_id é resolvido no Service (null no franqueador / unidade ativa no franchisee).
+            'unit_id'           => ['nullable', 'integer', 'exists:units,id'],
+        ];
     }
-
-    /**
-    * Add custom messages when needed
-    * public function messages(): array
-    * {
-    *   return [
-    *        'field.required' => __('message.algo'),
-    *    ];
-    * }
-    */
 }