This commit is contained in:
Luiz Silva 2026-08-11 11:04:35 -03:00
parent b04caf382c
commit f91200ed52

View file

@ -19,13 +19,14 @@ Essa rota é exclusiva para desenvolvimento e **nunca deve ser usada em produç
## Rota ## Rota
``` ```
GET http://127.0.0.1:<porta-back>/query-ia → retorna documentação da rota (texto plano) GET http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia → retorna documentação da rota (texto plano)
POST http://127.0.0.1:<porta-back>/query-ia → executa consulta SQL e retorna JSON POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia → executa consulta SQL e retorna JSON
``` ```
> **`<porta-back>` é subjetiva** — cada módulo do ecossistema usa uma porta diferente. Antes de usar a rota, descobrir a porta correta do projeto atual: > **`<porta-back>` e `<nome_modulo>` são definidos por módulo** — cada módulo do ecossistema usa uma porta e prefixo de rota específicos (ex: `http://127.0.0.1:5260/qualifica/query-ia`). Antes de usar a rota:
> - Verificar `package.json` do `*-back` (campo `scripts.dev` ou `scripts.start`) > - O acesso **GET** retorna a documentação do endpoint.
> - Ou verificar a variável `PORT` no `.env` do módulo > - O acesso **POST** executa a consulta SQL e retorna os dados em JSON.
> - Verificar `package.json` do `*-back` (campo `scripts.dev` ou `scripts.start`) ou o arquivo `.env` do módulo.
## Como usar ## Como usar
@ -36,13 +37,13 @@ POST http://127.0.0.1:<porta-back>/query-ia → executa consulta SQL e retorna
cat package.json | jq '.scripts.dev' cat package.json | jq '.scripts.dev'
# Consultar a documentação da rota (substitua <porta-back> pela porta real) # Consultar a documentação da rota (substitua <porta-back> pela porta real)
curl http://127.0.0.1:<porta-back>/query-ia curl http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia
``` ```
### Executar uma consulta SQL ### Executar uma consulta SQL
```bash ```bash
curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -s -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-d '{ -d '{
"sql": "SELECT * FROM empresas LIMIT 10", "sql": "SELECT * FROM empresas LIMIT 10",
@ -53,7 +54,7 @@ curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \
### Consulta com parâmetros (binding seguro) ### Consulta com parâmetros (binding seguro)
```bash ```bash
curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -s -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-d '{ -d '{
"sql": "SELECT * FROM avaliacoes WHERE empresa_id = ? AND status = ?", "sql": "SELECT * FROM avaliacoes WHERE empresa_id = ? AND status = ?",
@ -107,7 +108,7 @@ O agente **NUNCA** deve:
### ✅ Correto — inspecionar registros via query-ia ### ✅ Correto — inspecionar registros via query-ia
```bash ```bash
curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -s -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-d '{"sql": "SELECT codigo, nome, status FROM empresas ORDER BY criado_em DESC LIMIT 20"}' \ -d '{"sql": "SELECT codigo, nome, status FROM empresas ORDER BY criado_em DESC LIMIT 20"}' \
-H 'Content-Type: application/json' | jq '.rows' -H 'Content-Type: application/json' | jq '.rows'
``` ```
@ -115,7 +116,7 @@ curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \
### ✅ Correto — verificar schemas PostgreSQL disponíveis ### ✅ Correto — verificar schemas PostgreSQL disponíveis
```bash ```bash
curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -s -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-d '{"sql": "SELECT schema_name FROM information_schema.schemata ORDER BY schema_name"}' \ -d '{"sql": "SELECT schema_name FROM information_schema.schemata ORDER BY schema_name"}' \
-H 'Content-Type: application/json' | jq '.rows' -H 'Content-Type: application/json' | jq '.rows'
``` ```
@ -123,7 +124,7 @@ curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \
### ✅ Correto — contar registros por inquilino ### ✅ Correto — contar registros por inquilino
```bash ```bash
curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -s -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-d '{"sql": "SELECT inquilino, COUNT(*) as total FROM empresas GROUP BY inquilino"}' \ -d '{"sql": "SELECT inquilino, COUNT(*) as total FROM empresas GROUP BY inquilino"}' \
-H 'Content-Type: application/json' | jq '.rows' -H 'Content-Type: application/json' | jq '.rows'
``` ```
@ -132,7 +133,7 @@ curl -s -X POST http://127.0.0.1:<porta-back>/query-ia \
```bash ```bash
# Será bloqueado com status 400 # Será bloqueado com status 400
curl -X POST http://127.0.0.1:<porta-back>/query-ia \ curl -X POST http://127.0.0.1:<porta-back>/<nome_modulo>/query-ia \
-d '{"sql": "UPDATE empresas SET status = ?", "parametros": ["ativo"]}'` -d '{"sql": "UPDATE empresas SET status = ?", "parametros": ["ativo"]}'`
``` ```