merge([ 'status' => $this->status ? true : false, 'authorizedFolders' => $this->authorizedFolders ? $this->authorizedFolders : [], ]); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules(): array { return [ 'lastname' => 'required|min:3|max:255', 'firstname' => 'required|min:3|max:255', 'email' => [ 'required', 'email:rfc,strict,dns,spoof,filter', Rule::unique('app_users', 'email')->where('tenant_id', tenant('id')) ], 'password' => [ 'required', 'required_with:password_confirmation', 'confirmed', 'max:255', Password::min(8) ->letters() ->mixedCase() ->numbers() ->symbols() ], 'authorizedFolders' => 'present|array', 'role' => [ 'required', new Enum(AppUserRolesEnum::class) ], 'status' => 'required|boolean' ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes(): array { return [ 'lastname' => \trans('validation.attributes.last_name'), 'firstname' => \trans('validation.attributes.first_name'), 'email' => \trans('validation.attributes.email'), 'password' => \trans('validation.attributes.password'), 'authorizedFolders' => Str::of(\trans('models.classes.directory'))->plural(), 'role' => \trans('validation.custom.role'), 'status' => \trans('validation.custom.status') ]; } }