lappis-unb / salic-api

API aberta para o sistema SALIC. Tem por objetivo expor os dados de projetos da lei Rouanet
https://salic-api.readthedocs.org/pt/latest/
GNU General Public License v3.0
3 stars 1 forks source link

erro: Não consigo buscar informações por número de PRONAC #98

Closed joenio closed 5 years ago

joenio commented 5 years ago

http://10.1.20.145:88/v1/incentivadores/?limit=12&offset=0&PRONAC=151615&sort=total_doado:desc

copiado de #92.

joenio commented 5 years ago

GET http://127.0.0.1:5000/v1/incentivadores/?limit=12&offset=0&PRONAC=151615&sort=total_doado:desc

erro:

{
"message": "invalid request arguments: ['PRONAC', 'limit', 'offset', 'sort'].
 Possible args: ('UF', 'cgccpf', 'format', 'limit', 'municipio', 'nome',
 'offset', 'order', 'responsavel', 'sort', 'tipo_pessoa', 'total_doado')",
"message_code": 13
}
joenio commented 5 years ago

adicionar PRONAC na lista de argumentos válidos resolve a mensagem de erro mas causa outro problema, com a alteração copiada abaixo implantada a requisição (usando a mesma URL do comentário anterior) nao retorna nunca, fica carregando eternamente...

diff --git a/salic_api/resources/incentivador/query.py b/salic_api/resources/incentivador/query.py
index 5a1ced0..4cdf367 100644
--- a/salic_api/resources/incentivador/query.py
+++ b/salic_api/resources/incentivador/query.py
@@ -22,6 +22,7 @@ class IncentivadorQuery(Query):
         'cgccpf': Interessado.CgcCpf,
         'total_doado': func.sum(Captacao.CaptacaoReal),
         'tipo_pessoa': Interessado.tipoPessoaLabel,
+        'PRONAC': Projeto.PRONAC,
     }

     def query(self, limit=1, offset=0, **kwargs):

obs: estou acessando o banco de homologação através da vpn-minc.

joenio commented 5 years ago

copiando diff para não perder os testes realizados

diff --git a/tests/examples.py b/tests/examples.py
index 68268eb..1fef90f 100644
--- a/tests/examples.py
+++ b/tests/examples.py
@@ -218,6 +218,7 @@ INCENTIVADOR_RESPONSE = {
     'responsavel': 'Responsavel 1',
     'tipo_pessoa': 'juridica',
     'total_doado': 0.0,
+    'PRONAC': '20001234',
 }
 FORNECEDOR_RESPONSE = {
     "cgccpf": "1234",
diff --git a/tests/test_examples.py b/tests/test_examples.py
index 37142c7..bb30947 100644
--- a/tests/test_examples.py
+++ b/tests/test_examples.py
@@ -89,6 +89,10 @@ class TestEndpoints:
         expected = PRODUTOS_RESPONSE
         check_endpoint(client, url, expected)

+    def test_incentivadores_by_pronac_number(self, client):
+        url = '/v1/incentivadores/?PRONAC=20001234'
+        check_endpoint(client, url, INCENTIVADOR_RESPONSE)
+

 class TestEndpointsIsolated:
     def test_fornecedores_detail(self, client):