Skip to content

refactor(smas): Remove integração com a API do SMAS e fluxo de serviços públicos - #263

Open
jpmcarrilho wants to merge 3 commits into
devfrom
refactor/remove-smas
Open

jpmcarrilho wants to merge 3 commits into
devfrom
refactor/remove-smas

Conversation

@jpmcarrilho

@jpmcarrilho jpmcarrilho commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Descrição

A integração com o SMAS (consulta de NIS para Benefício Eventual Emergencial, Bolsa Família e CadÚnico) não é mais utilizada. Este PR remove do app a chamada à smasAPI e tudo que só era alcançável a partir dela.

Removido

  • getBenefitDataSmasByNis e getNisByUserData (POST ${FIREBASE_CLOUD_URL}/smasAPI) do CloudFunctionService.
  • PublicServicesStack, todas as telas de smasScreens/ e o SmasContext.
  • Camadas domain/smas e data/smas, incluindo firebaseSmasDatabase, FIREBASE_smas_databaseURL / PROD_FIREBASE_smas_databaseURL e a chave local corre.smas.
  • Tela NotificationPublicServicesSettings e InsertNisModal. O botão nas Configurações já estava comentado, então a tela só abria dentro do fluxo removido.
  • Pontos de entrada:
    • slide "serviços públicos" do carrossel da Home (PublicServicesAdButton)
    • caminho 'publicServices' em ViewPostsByPostType
    • blocos comentados // SMAS que apontavam para as telas removidas
  • Eventos de analytics smas_search / recovery_nis.
  • notifyUsersOnLocation (notificação da prefeitura por localização, também parte do SMAS): método e tipos do CloudFunctionService, parâmetro notifyUsersByLocation de savePost (e o parâmetro useCloudFunctionService, que só existia para isso) e os blocos comentados // SMAS do EditPost. O botão já estava comentado, então a chamada nunca acontecia.
  • Ícones publicServices-white.svg e recycle-white.svg, sem nenhuma outra referência.

Mantido de propósito

  • hasCorreSmasProfile em ChatMessages: conversas antigas do perfil correSmas continuam sem o botão de relato de impacto.
  • Tratamento de smasProject em server-functions/chatMessagesNotificationListener (função no servidor; não faz nada se não chegarem mensagens do SMAS).

Após o merge

  • FIREBASE_smas_databaseURL e PROD_FIREBASE_smas_databaseURL podem ser removidas dos .env locais e da página de variáveis no Notion.
  • O NIS salvo localmente (corre.smas no AsyncStorage) continua nos aparelhos de quem usou o fluxo. O app nunca limpava essa chave, nem no logout.

Não conflita com #262 nem com feat/upgrade-expo-sdk-57 (verificado com git merge-tree).

Teste

  • tsc --noEmit comparado com dev: nenhum erro novo. Os 19 erros a menos eram de arquivos removidos. O conjunto restante é o mesmo de dev, causado pela diferença de ambiente local.
  • ESLint nos arquivos alterados: nenhum erro novo (2 a menos que dev; os restantes já existiam).
  • grep sem referências restantes a PublicServicesStack, smasScreens, @domain/smas, @data/smas, SmasContext, NotificationPublicServicesSettings, InsertNisModal, getNisByUserData, getBenefitDataSmasByNis ou firebaseSmasDatabase.
  • Jest não pôde ser executado neste ambiente: as 7 suítes falham ao carregar, tanto em dev quanto nesta branch.
  • Não testado no app. Conferir manualmente:
    • Criar e editar um post (EditPost) e publicar um post offline (OfflinePostsManagement): a assinatura de savePost mudou.
    • Home: o carrossel abre no slide de assinatura/promoção, sem "serviços públicos".
    • Catálogo > Impacto social: mostra informativos, iniciativas e doações.
    • Configurações abre normalmente.
    • Uma conversa antiga com o perfil correSmas, se existir, abre sem erro.

Referências

🤖 Generated with Claude Code

jpmcarrilho and others added 3 commits September 25, 2026 17:04
A integração com o SMAS não é mais utilizada. Remove a consulta de NIS
(BEE, Bolsa Família e CadÚnico) e tudo que só era alcançável a partir dela:

- Métodos getBenefitDataSmasByNis e getNisByUserData (POST /smasAPI)
- PublicServicesStack, telas de smasScreens e SmasContext
- Camadas domain/smas e data/smas
- Tela NotificationPublicServicesSettings e InsertNisModal (o acesso pelas
  configurações já estava comentado; só era aberta dentro do fluxo removido)
- Anúncio "serviços públicos" no carrossel da Home e o caminho
  'publicServices' em ViewPostsByPostType
- Eventos de analytics smas_search e recovery_nis
- Ícones publicServices-white e recycle-white, sem outras referências

Mantidos: tratamento de chats antigos do perfil correSmas e o fluxo
notifyUsersOnLocation, que é tratado separadamente.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s_databaseURL

Sem o fluxo de serviços públicos, firebaseSmasDatabase, as variáveis
FIREBASE_smas_databaseURL/PROD_FIREBASE_smas_databaseURL e a chave local
corre.smas deixam de ser usadas.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…yUsersOnLocation)

O disparo de notificações da prefeitura por localização fazia parte da
integração com o SMAS, que não será mais uma funcionalidade do app. O botão
"notificar usuários" já estava comentado no EditPost, então a chamada nunca
era feita.

- Remove o método notifyUsersOnLocation e seus tipos do CloudFunctionService
- Remove o parâmetro notifyUsersByLocation de savePost e o parâmetro
  useCloudFunctionService, que só existia para essa chamada
- Remove os blocos comentados // SMAS do EditPost

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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