['required', 'string', 'max:255', Rule::unique(User::class, 'login')], 'password' => $this->passwordRules(), 'email' => ['required', 'string', 'max:255', Rule::unique(User::class, 'email')], 'type' => ['required', 'string', 'max:6', Rule::in(['admin', 'editor', 'dj'])], ])->validate(); } catch (Exception $e) { throw new Exception($e->getMessage(), $e->getCode(), $e); } try { $user = User::create([ 'login' => $userInfos['username'], 'pass' => Hash::make($userInfos['password']), 'email' => $userInfos['email'], 'type' => UserType::from($userInfos['type'])->name, ]); $user->assignRole($userInfos['type']); return $user; } catch (Exception $e) { throw new Exception($e->getMessage(), $e->getCode(), $e); } } }