-
Notifications
You must be signed in to change notification settings - Fork 577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: dados abertos senado #444
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Foram adcionados mais algumas rotas, da parte de gestão de pessoas Todos os endpoint rest api dessa parte estão criados, ainda falta fazer a documentação e a parte de teste E2E que eu creio que seja a parte mais chata. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Muito obrigado pela contribuição! Deixei algumas sugestões de melhorias, além disso, caso queira que essas rotas desenvolvidas tenham mais visibilidade, recomendo modificar o sitemap.xml
e as keywords presentes no pages/index.js
pages/api/senado/v1/gestao/servidores/aposentadoria/inativos.js
Outdated
Show resolved
Hide resolved
pages/api/senado/v1/gestao/servidores/aposentadoria/inativos.js
Outdated
Show resolved
Hide resolved
pages/api/senado/v1/gestao/servidores/aposentadoria/inativos.js
Outdated
Show resolved
Hide resolved
|
||
export const getDadosDespesa = async () => { | ||
const data = await axios.get( | ||
'https://www.senado.gov.br/bi-arqs/Arquimedes/Financeiro/DespesaSenadoDadosAbertos.json' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Não conferi a saída de todas as rotas, mas essa em específico notei que as datas estão no padrão dd/MM/yy
e os valores estão como string, será que podemos parsear a data e o campo numérico? (Se em outra rota também estiver assim é bom também)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sim, concordo, vou analisar alguma solução.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LorhanSohaky Como o formato da data é 23/02/23
com o ano abreviado, estou com medo de parsear, vc tem alguma dica ?
Vi essa solução mas não estou muito feliz com ela
const dataStr = '23/02/23';
const parts = dataStr.split('/');
const year = parseInt(parts[2]) + 2000; // Somando 2000 para transformar o ano de 2 dígitos em 4 dígitos
const month = parseInt(parts[1]) - 1; // Os meses em JavaScript vão de 0 a 11
const day = parseInt(parts[0]);
const data = new Date(year, month, day);
ou essa solução
const { parse } = require('date-fns');
const dataStr = '23/02/23';
const data = parse(dataStr, 'dd/MM/yy', new Date());
ou essa ?
const moment = require('moment');
// Cria um objeto moment a partir da string da data
const dateMoment = moment('23/02/23', 'DD/MM/YY');
// Converte o objeto moment para um objeto Date
const date = dateMoment.toDate();
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sugiro algo parecido com a ultima opção, mas trocando de moment
por dayjs
, pq já está instalada
Kudos, SonarCloud Quality Gate passed!
|
@gabriellhuver , vai continuar com este PR? |
Kudos, SonarCloud Quality Gate passed!
|
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
…er/BrasilAPI into feature/dados-senado
Primeiramente desculpa a demora para responder, vou sim, vou fazer os ajustes devagar, ajustei os retornos de erro e a rota de disponibilizados, ainda falta resolver a data da rota de despesas e documentar no sitemap, mas pretendo continuar sim, |
Pretendo fazer os testes E2E tbm. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Muito obrigado! Deixei alguns comentários, mas em resumo:
- É importante adicionar teste de todas as rotas
- Também é desejável que adicione documentação com esses dados do senado
- E é útil atualizar as informações do
sitemap.xml
e askeywords
presentes nopages/index.js
para que as pessoas encontrem esta API - A fixação do status code é de interesse, pois ao documentar você diz qual o status code que nossos usuários deverão receber
pages/api/senado/v1/gestao/servidores/aposentadoria/pensionistas.js
Outdated
Show resolved
Hide resolved
pages/api/senado/v1/gestao/servidores/aposentadoria/previsao.js
Outdated
Show resolved
Hide resolved
tests/dados-senado.test.js
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Precisamos que adicione testes de todas as rotas, pois só assim conseguimos garantir que tudo está em completo funcionamento ou se a informação foi alterada. Sugiro que tome como inspiração os casos de testes que já existem no repositório, por exemplo:
-
Testes de quando o usuário envia algum parâmetro errado (se aplicável)
-
Testes do formato da saída das rotas (por exemplo, se está retornando uma lista com nome (string), valor (moeda) e descrição)
-
Verificação do status code
-
pages/api/senado/v1/gestao/servidores/aposentadoria/inativos.js
-
pages/api/senado/v1/gestao/servidores/aposentadoria/pensionistas.js
-
pages/api/senado/v1/gestao/servidores/aposentadoria/previsao.js
-
pages/api/senado/v1/gestao/servidores/ativos.js
-
pages/api/senado/v1/gestao/servidores/comissionados.js
-
pages/api/senado/v1/gestao/servidores/efetivos.js
-
pages/api/senado/v1/gestao/servidores/estagiarios.js
-
pages/api/senado/v1/gestao/servidores/index.js
-
pages/api/senado/v1/gestao/servidores/terceirizados.js
-
pages/api/senado/v1/orcamento/despesa.js
-
pages/api/senado/v1/orcamento/receita.js
-
pages/api/senado/v1/quantitativos/cargos-funcoes.js
-
pages/api/senado/v1/quantitativos/pessoal.js
-
services/dados-abertos-br/senado-gestao-pessoas.js
-
services/dados-abertos-br/senado-orcamento.js
-
services/dados-abertos-br/senado-quantitativos.js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfeito ! Vou fazer os ajustes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fiz os ajustes dos status, vou trabalhar na finalização dos testes E2E e documentação ! @LorhanSohaky
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Boa tarde, @LorhanSohaky
Fiquei um pouco em dúvida em relação aos testes, eu poderia fazer dessa forma ?
describe('api/senado/v1/gestao/servidores (E2E)', () => {
test('Pesquisando Relação de servidores efetivos do Governo do Distrito Federal à disposição do Senado Federal', async () => {
const validTestArray = expect.arrayContaining([
expect.objectContaining({
sequencial: expect.any(Number),
nome: expect.any(String),
}),
]);
const response = await axios.get(`${URL}`);
expect(response.status).toBe(200);
expect(response.data).toEqual(validTestArray);
});
});
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
É exatamente por aí!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Como eu não conheço os dados diria pra tentar seguir as recomendações deste PR #268, sei que ainda não está definitivo, mas algumas coisas como, por exemplo, padrão de data e moeda já podem ser seguidos
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Boa tarde @LorhanSohaky, estou desenvolvendo a parte da documentação das API´s porém estou tendo dificuldade para acessar o /docs
, estou suspeitando da versão do meu NodeJS, como não sou especialista em Next, não sei o que pode ser, vou deixar uma print do erro que esta ocorrendo no meu ambiente, se puder me ajudar
Estou usando no node 16.20.0
Tentei tbm fazer o build do projeto mas está dando esse problema
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Se você ainda não editou nada tentaria com node 14 ou uma outra versão do 16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quando puder revisar me avisa
Kudos, SonarCloud Quality Gate passed!
|
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Update pages/api/senado/v1/gestao/servidores/aposentadoria/pensionistas.js Update pages/api/senado/v1/gestao/servidores/aposentadoria/previsao.js Update pages/api/senado/v1/gestao/servidores/efetivos.js Update pages/api/senado/v1/quantitativos/cargos-funcoes.js Update pages/api/senado/v1/gestao/servidores/ativos.js Update pages/api/senado/v1/gestao/servidores/comissionados.js Update pages/api/senado/v1/quantitativos/pessoal.js Update pages/api/senado/v1/orcamento/receita.js Co-Authored-By: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
…er/BrasilAPI into feature/dados-senado
Kudos, SonarCloud Quality Gate passed!
|
d29a1aa
to
bf3a71b
Compare
Kudos, SonarCloud Quality Gate passed!
|
Inicio da implementação dos dados do Senado
Foi implementado a parte de orçamentos para teste.
Dados foram retirados daqui
ISSUE: Endpoint com dados abertos do senado #399