From 7075704dad773b39efb0e01ef30747c00b46968c Mon Sep 17 00:00:00 2001 From: ncoronel Date: Mon, 22 Jun 2026 12:58:03 -0300 Subject: [PATCH] Enhance Tenant management by syncing property values in store and update requests; integrate PropRules for validation --- .../Tenant/Controllers/TenantController.php | 14 ++++++++++++-- app/Domains/Tenant/Requests/StoreTenantRequest.php | 2 ++ .../Tenant/Requests/UpdateTenantRequest.php | 2 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Domains/Tenant/Controllers/TenantController.php b/app/Domains/Tenant/Controllers/TenantController.php index 0241571..7efcfc7 100644 --- a/app/Domains/Tenant/Controllers/TenantController.php +++ b/app/Domains/Tenant/Controllers/TenantController.php @@ -19,7 +19,12 @@ class TenantController extends Controller public function store(StoreTenantRequest $request): JsonResponse { - $tenant = Tenant::create($request->validated()); + $validated = $request->validated(); + $props = $validated['props'] ?? []; + unset($validated['props']); + + $tenant = Tenant::create($validated); + $tenant->syncPropValues($props); return TenantResource::make($tenant)->response()->setStatusCode(201); } @@ -31,7 +36,12 @@ class TenantController extends Controller public function update(UpdateTenantRequest $request, Tenant $tenant): TenantResource { - $tenant->update($request->validated()); + $validated = $request->validated(); + $props = $validated['props'] ?? []; + unset($validated['props']); + + $tenant->update($validated); + $tenant->syncPropValues($props); return TenantResource::make($tenant); } diff --git a/app/Domains/Tenant/Requests/StoreTenantRequest.php b/app/Domains/Tenant/Requests/StoreTenantRequest.php index ffdaf10..af26900 100644 --- a/app/Domains/Tenant/Requests/StoreTenantRequest.php +++ b/app/Domains/Tenant/Requests/StoreTenantRequest.php @@ -2,6 +2,7 @@ namespace App\Domains\Tenant\Requests; +use App\Domains\Prop\Support\PropRules; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; @@ -21,6 +22,7 @@ class StoreTenantRequest extends FormRequest 'codigo' => ['required', 'string', 'max:255', Rule::unique('tenants', 'codigo')], 'nombre' => ['required', 'string', 'max:255'], 'dominio' => ['nullable', 'string', 'max:255'], + ...PropRules::sync(), ]; } } diff --git a/app/Domains/Tenant/Requests/UpdateTenantRequest.php b/app/Domains/Tenant/Requests/UpdateTenantRequest.php index d8a45b1..ab37ce2 100644 --- a/app/Domains/Tenant/Requests/UpdateTenantRequest.php +++ b/app/Domains/Tenant/Requests/UpdateTenantRequest.php @@ -2,6 +2,7 @@ namespace App\Domains\Tenant\Requests; +use App\Domains\Prop\Support\PropRules; use App\Domains\Tenant\Models\Tenant; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; @@ -30,6 +31,7 @@ class UpdateTenantRequest extends FormRequest ], 'nombre' => ['required', 'string', 'max:255'], 'dominio' => ['nullable', 'string', 'max:255'], + ...PropRules::sync(), ]; } }