ask('Type the wanted user email', 'equipe.web@ldc.fr'); $validator = Validator::make(['email' => $tmp], [ 'email' => 'required|unique:users,email|email:rfc,spoof' ]); $validator->validate(); $email = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid email %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } } $firstname = null; while (is_null($firstname)) { try { $tmp = $this->ask('Type the wanted user firstname', 'Admin'); $validator = Validator::make(['firstname' => $tmp], [ 'firstname' => 'required|min:5,max:255' ]); $validator->validate(); $firstname = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid firstname %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } } $lastname = null; while (is_null($lastname)) { try { $tmp = $this->ask('Type the wanted user lastname', 'Saïtama'); $validator = Validator::make(['lastname' => $tmp], [ 'lastname' => 'required|min:5,max:255' ]); $validator->validate(); $lastname = $tmp; } catch (ValidationException $e) { $this->error(sprintf( 'Please provide a valid lastname %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; } } $password = null; while ( ($password = $this->secret( (!\is_null($password) ? 'Failed to confirm, ' : '') . 'Type the wanted user password' )) !== $this->secret('Confirm the password') ) { continue; }; //end while $user = new User(); $user->firstname = $firstname; $user->lastname = $lastname; $user->email = $email; $user->password = $password; $user->role = $this->confirm('Is the user a super admin?') ? UserRoleEnum::superAdmin() : UserRoleEnum::user(); $user->saveOrFail(); $this->info('User created.'); } }