Skip to content

feat: query policies() para listagem de políticas públicas no portal#27

Merged
nitaibezerra merged 4 commits into
mainfrom
feature/portal-policies-query
Jul 1, 2026
Merged

feat: query policies() para listagem de políticas públicas no portal#27
nitaibezerra merged 4 commits into
mainfrom
feature/portal-policies-query

Conversation

@nitaibezerra

Copy link
Copy Markdown
Contributor

Resumo

Nova query GraphQL policies(domain, lifecyclePhase, limit, offset) para a Fase Portal — página /politicas do Next.js que lista todas as entidades POLICY com filtros por domínio e fase do ciclo de vida.

Mudanças

  • Novo tipo PolicyListItem em types/entities.py — campos: entityId, canonicalName, domain, lifecyclePhase, wikidataId, aliases, articleCount
  • Novo resolver EntityQuery.policies() em resolvers/entities.py — filtra entity_registry por type=POLICY + domain/lifecyclePhase opcionais
  • Novo método PostgresDatasource.list_policies() com SQL: LEFT JOIN news_entities para contar artigos + filtros JSONB
  • 7 testes em tests/test_policies_query.py (mocks — sem dependência de DB)

Dependências

  • Migração 026_policy_ontology_seed já aplicada em produção — 45 políticas com domain + lifecycle_phase preenchidos
  • Próximo passo: portal feature/portal-politicas-page consome esta query

Query exemplo

query {
  policies(domain: "SOCIAL", limit: 20) {
    entityId
    canonicalName
    domain
    lifecyclePhase
    articleCount
  }
}

@nitaibezerra
nitaibezerra merged commit 3b9ba13 into main Jul 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant