Importar Repertório — Design Técnico
Gerado pelo Writer (Reversa) em 2026-05-11
Fluxo
importarRepertorioPorSlug(slug)
→ RepertorioService.findRepertorioSimilar(slug)
→ Busca local por slug_referencia = slug OU slug_corrente = slug
→ Se encontrado → retorna id_repertorio existente → navega
→ Se não encontrado:
→ Api.getRepertorioPorSlug(slug)
→ Mapeia RepertorioPersistidoResponse → { titulo, itens, slugReferencia }
→ RepertoriosRepository.createRepertorio(titulo)
→ INSERT + slug_referencia = slug
→ Para cada item em itens:
→ createItemRepertorio({ id_repertorio, id_musica?, termo?, momento?, tonalidade? })
→ Atualiza ordem_musicas com ids dos itens criados
→ Retorna id_repertorio novo
→ Navega para tela de detalhe
Dependências
| Dependência | Papel | Confiança |
|---|---|---|
Api.getRepertorioPorSlug |
GET repertório externo por slug | 🟢 |
RepertorioService.findRepertorioSimilar |
Deduplicação local | 🟢 |
RepertoriosRepository.createRepertorio |
INSERT cabeçalho | 🟢 |
RepertoriosRepository.createItemRepertorio |
INSERT itens | 🟢 |