load(); $db = DBManager::getConnection(); $nome = $argv[1] ?? 'Administrador Workbloom'; $email = $argv[2] ?? 'admin@workbloom.com.br'; $usuario = $argv[3] ?? 'admin'; $senha = $argv[4] ?? 'Admin@123456'; echo "=== Criação de Usuário Administrador ===\n"; echo "Nome: {$nome}\n"; echo "Email: {$email}\n"; echo "Usuário: {$usuario}\n"; // Verifica se já existe por e-mail ou nome_usuario $existente = $db->fetchOne( "SELECT id, uuid, email, nome_usuario FROM usuario WHERE email = :email OR nome_usuario = :usuario LIMIT 1", ['email' => $email, 'usuario' => $usuario] ); if ($existente !== null) { echo "Erro: Usuário já cadastrado com este e-mail ou nome de usuário (ID: {$existente['id']}).\n"; exit(1); } $userUuid = Uuid::uuid7()->toString(); $senhaHash = password_hash($senha, PASSWORD_ARGON2ID); // Cria o usuário $db->insert('usuario', [ 'uuid' => $userUuid, 'nome_completo' => $nome, 'email' => $email, 'nome_usuario' => $usuario, 'senha_hash' => $senhaHash, 'ativo' => 1, ]); $userId = (int)$db->fetchColumn( "SELECT id FROM usuario WHERE uuid = :uuid LIMIT 1", ['uuid' => $userUuid] ); echo "Usuário criado com sucesso! ID: {$userId}, UUID: {$userUuid}\n"; // Verifica se existe ao menos uma empresa $empresaId = $db->fetchColumn("SELECT id FROM empresa WHERE deleted_at IS NULL LIMIT 1"); if (!$empresaId) { echo "Nenhuma empresa cadastrada. Criando Empresa Matriz de teste...\n"; $empresaUuid = Uuid::uuid7()->toString(); $db->insert('empresa', [ 'uuid' => $empresaUuid, 'tipo_estabelecimento' => 'MATRIZ', 'status' => 'ATIVO', 'nome_empresarial' => 'WORKBLOOM SISTEMAS LTDA', 'nome_fantasia' => 'Workbloom Matriz', 'cnpj' => '12345678000195', 'regime_tributario' => 1, ]); $empresaId = (int)$db->fetchColumn( "SELECT id FROM empresa WHERE uuid = :uuid LIMIT 1", ['uuid' => $empresaUuid] ); echo "Empresa criada! ID: {$empresaId}, UUID: {$empresaUuid}\n"; } else { $empresaId = (int)$empresaId; } // Vincula usuário à empresa como ADMIN $db->insert('usuario_empresa', [ 'usuario_id' => $userId, 'empresa_id' => $empresaId, 'perfil' => 'ADMIN', 'acesso_todas_filiais' => 1, ]); echo "Vínculo criado na empresa ID: {$empresaId} como ADMIN!\n"; echo "Concluído com sucesso!\n";