$input * * @throws ValidationException */ public function create(array $input): User { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => [ 'required', 'string', 'email', 'max:255', Rule::unique(User::class), ], 'password' => ['required', 'string', 'min:8', 'confirmed'], ])->validate(); $user = User::create([ 'name' => $input['name'], 'email' => $input['email'], 'password' => Hash::make($input['password']), ]); // Assign default 'viewer' role $viewerRole = Role::where('naam', 'viewer')->first(); if ($viewerRole) { $user->roles()->attach($viewerRole); } return $user; } }