Enhance Tenant management by syncing property values in store and update requests; integrate PropRules for validation
This commit is contained in:
@@ -19,7 +19,12 @@ class TenantController extends Controller
|
|||||||
|
|
||||||
public function store(StoreTenantRequest $request): JsonResponse
|
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);
|
return TenantResource::make($tenant)->response()->setStatusCode(201);
|
||||||
}
|
}
|
||||||
@@ -31,7 +36,12 @@ class TenantController extends Controller
|
|||||||
|
|
||||||
public function update(UpdateTenantRequest $request, Tenant $tenant): TenantResource
|
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);
|
return TenantResource::make($tenant);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Domains\Tenant\Requests;
|
namespace App\Domains\Tenant\Requests;
|
||||||
|
|
||||||
|
use App\Domains\Prop\Support\PropRules;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
@@ -21,6 +22,7 @@ class StoreTenantRequest extends FormRequest
|
|||||||
'codigo' => ['required', 'string', 'max:255', Rule::unique('tenants', 'codigo')],
|
'codigo' => ['required', 'string', 'max:255', Rule::unique('tenants', 'codigo')],
|
||||||
'nombre' => ['required', 'string', 'max:255'],
|
'nombre' => ['required', 'string', 'max:255'],
|
||||||
'dominio' => ['nullable', 'string', 'max:255'],
|
'dominio' => ['nullable', 'string', 'max:255'],
|
||||||
|
...PropRules::sync(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Domains\Tenant\Requests;
|
namespace App\Domains\Tenant\Requests;
|
||||||
|
|
||||||
|
use App\Domains\Prop\Support\PropRules;
|
||||||
use App\Domains\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@@ -30,6 +31,7 @@ class UpdateTenantRequest extends FormRequest
|
|||||||
],
|
],
|
||||||
'nombre' => ['required', 'string', 'max:255'],
|
'nombre' => ['required', 'string', 'max:255'],
|
||||||
'dominio' => ['nullable', 'string', 'max:255'],
|
'dominio' => ['nullable', 'string', 'max:255'],
|
||||||
|
...PropRules::sync(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user