Skip to content

Gerar Folheto — Requisitos

Gerado pelo Writer (Reversa) em 2026-05-11 Caso de uso do módulo repertorios

Visão Geral

Gera um folheto PDF do repertório em livreto.canta.app usando uma de três estratégias: com autenticação e slug (qualidade completa), sem autenticação via Base64 (acesso imediato), ou noop (fallback seguro).

Regras de Negócio

  • GerarFolhetoComSlugStrategy requer autenticação Google; falha de auth aborta o fluxo 🟢
  • GerarFolhetoBase64Strategy não requer autenticação; URL pode ser longa para repertórios grandes 🟡
  • GerarFolhetoNoopStrategy não faz nada — é um fallback seguro 🟢
  • Evento gerar_folheto registrado no Sentry após abertura do link 🟢

Requisitos Funcionais

ID Requisito Prioridade Critério de Aceite
RF-01 Gerar folheto via slug (com autenticação) Should Link livreto.canta.app/?{conta}:{slug} abre no browser; PDF disponível
RF-02 Gerar folheto via Base64 (sem autenticação) Should Link livreto.canta.app/?repertorio=<base64> abre com os dados do repertório
RF-03 Selecionar estratégia correta em runtime Must Estratégia aplicada conforme contexto (usuário logado, slug disponível)
RF-04 Registrar métrica de geração de folheto Should Metricas.gerarFolheto() chamado após abertura do link

Critérios de Aceitação

Dado que o usuário está logado e o repertório tem slug
Quando solicita geração de folheto
Então o app autentica, envia para API, e abre livreto.canta.app/?conta:slug

Dado que o usuário não está logado ou o repertório não tem slug
Quando solicita geração de folheto
Então o app serializa o repertório para Base64 e abre livreto.canta.app/?repertorio=<base64>