Enhance Tenant management by syncing property values in store and update requests; integrate PropRules for validation

This commit is contained in:
2026-06-22 12:58:03 -03:00
parent cde27c0d34
commit 7075704dad
3 changed files with 16 additions and 2 deletions

View File

@@ -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);
}

View File

@@ -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(),
];
}
}

View File

@@ -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(),
];
}
}