getHelper('question'); $output->writeln('Cadastro de Novo Usuário'); $output->writeln('-------------------------'); // Name $nameQuestion = new Question('Nome completo: '); $name = $helper->ask($input, $output, $nameQuestion); if (empty($name)) { $output->writeln('O nome é obrigatório.'); return Command::FAILURE; } // Email $emailQuestion = new Question('E-mail: '); $email = $helper->ask($input, $output, $emailQuestion); if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { $output->writeln('E-mail inválido ou vazio.'); return Command::FAILURE; } if (User::where('users_email', $email)->exists()) { $output->writeln("Já existe um usuário com o e-mail {$email}."); return Command::FAILURE; } // Password $passwordQuestion = new Question('Senha: '); $passwordQuestion->setHidden(true); $passwordQuestion->setHiddenFallback(false); $password = $helper->ask($input, $output, $passwordQuestion); if (strlen($password) < 6) { $output->writeln('A senha deve ter pelo menos 6 caracteres.'); return Command::FAILURE; } // Bus ID $busIdQuestion = new Question('ID Bus (opcional): '); $busId = $helper->ask($input, $output, $busIdQuestion); try { $user = new User(); $user->users_name = $name; $user->users_email = $email; $user->users_password = password_hash($password, PASSWORD_DEFAULT); $user->users_role = 'user'; $user->users_bus_id = $busId; $user->users_status = 'active'; $user->save(); $output->writeln("\nUsuário '{$name}' cadastrado com sucesso!"); $output->writeln("ID: {$user->users_id}"); $output->writeln("E-mail: {$user->users_email}"); return Command::SUCCESS; } catch (\Exception $e) { $output->writeln("Erro ao cadastrar usuário: " . $e->getMessage() . ""); return Command::FAILURE; } } }