Skip to main content

TDD — Snapshot do Platform

Status

Implementado

Contexto

Leitura da estrutura /platform do Firestore para inspeção em tempo real. Acessível via Home → Ajuda → Debug (botão "Ler snapshot").

Contratos

Backend: platformDebugHttp (GET)

  • Headers: x-debug-token (DEBUG_PLATFORM_TOKEN; Bearer também aceito em algumas configs)
  • Função: retorna snapshot da árvore platform/ministrys/{domain}

Frontend: GetPlatformDebugSnapshotUseCase

  • Chama o endpoint e grava JSON no DebugService (logs)

Interface de Usuário (UI)

O painel de debug é exibido dentro do popup Ajuda do aplicativo (Home → ícone ajuda). Requer desbloqueio: toque 5 vezes no ícone de bug no header.

Componentes relacionados ao Snapshot:

  • Debug out — área de texto rolável com saída (monospace); exibe o JSON do snapshot após "Atualizar"
  • Atualizar — botão que dispara a leitura do snapshot; grava resultado na saída
  • Limpar — limpa a saída
  • Copiar saída — copia o conteúdo da saída para a área de transferência
  • Atalho 1 — botão numérico que executa o mesmo que "Atualizar"
  • Nível de debug — dropdown (trace, debug, info, warn, error) que filtra o que aparece na saída

Observação: O painel de debug só aparece após o gesto de desbloqueio (5 toques no ícone de bug).

Fluxo

  1. Usuário clica em "Atualizar" (ou atalho 1) no DebugHelpPopup
  2. Frontend: getPlatformDebugSnapshot.execute()
  3. HTTP GET para platformDebugHttp
  4. Resposta JSON gravada via DebugService.instance.log e exibida na área "Debug out"

Código de referência

  • frontend/lib/application/use_cases/get_platform_debug_snapshot.dart
  • backend/functions/src/interfaces/http/platform-debug-http-controller.ts