|string> */ public function rules(): array { return [ 'first_name' => [ 'required', 'string', 'min:2', 'max:64', 'persian_alpha' ], 'last_name' => [ 'required', 'string', 'min:2', 'max:64', 'persian_alpha' ], 'username' => [ 'required', 'string', 'min:2', 'max:100', 'regex:/^[A-Za-z0-9_]+$/', 'unique:admins,username' ], 'email' => [ 'nullable', 'email', 'max:150', 'unique:users,email' ], 'mobile' => [ 'nullable', 'string', 'ir_mobile:zero' ], 'password' => [ 'required', 'min:8', 'max:255', 'alpha_num', ], 'role' => [ 'required', Rule::enum(AdminRole::class), ], 'status' => [ 'required', Rule::enum(AdminStatus::class), ], 'permissions' => [ 'nullable', 'array', 'min:1', ], 'permissions.*' => [ 'required', 'string', 'distinct', Rule::enum(AdminPermission::class), ], ]; } }