Files
baharrezaei-project09/app/Http/Requests/Admin/AdminUpdateRequest.php
T

157 lines
3.3 KiB
PHP

<?php
namespace App\Http\Requests\Admin;
use App\Enums\AdminStatus;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class AdminUpdateRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$admin = $this->route('admin');
return [
// اطلاعات مدیر
'first_name' => [
'required',
'string',
'max:255',
],
'last_name' => [
'required',
'string',
'max:255',
],
'username' => [
'required',
'string',
'max:255',
Rule::unique('admins', 'username')->ignore($admin->id),
],
'email' => [
'required',
'email',
'max:255',
Rule::unique('admins', 'email')->ignore($admin->id),
],
'password' => [
'nullable',
'string',
'min:8',
'confirmed',
],
'status' => [
'required',
Rule::in([
AdminStatus::ENABLE->value,
AdminStatus::DISABLE->value,
]),
],
// =========================
// دسترسی مدیران
// =========================
'admin_view' => [
'nullable',
'boolean',
],
'admin_create' => [
'nullable',
'boolean',
],
'admin_edit' => [
'nullable',
'boolean',
],
'admin_delete' => [
'nullable',
'boolean',
],
// =========================
// دسترسی کاربران
// =========================
'user_view' => [
'nullable',
'boolean',
],
'user_edit' => [
'nullable',
'boolean',
],
'user_delete' => [
'nullable',
'boolean',
],
// =========================
// دسترسی تورها
// =========================
'tour_view' => [
'nullable',
'boolean',
],
'tour_create' => [
'nullable',
'boolean',
],
'tour_edit' => [
'nullable',
'boolean',
],
'tour_delete' => [
'nullable',
'boolean',
],
'flight_view' => [
'nullable',
'boolean',
],
'flight_create' => [
'nullable',
'boolean',
],
'flight_edit' => [
'nullable',
'boolean',
],
'flight_delete' => [
'nullable',
'boolean',
],
];
}
}