Sincronizar Sugestões Remotas
Gerado pelo Writer (Reversa) em 2026-05-11
doc_level: detalhado | Módulo pai:sugestao-repertorio
Visão Geral
Caso de uso que baixa o banco atualizado de sugestões de repertório do servidor remoto e substitui o conteúdo local totalmente.
Regras de Negócio
- Apenas um download de sugestões pode ocorrer por vez (
downloadEmAndamento) 🟢 - A importação é uma substituição total: DELETE + INSERT (não diff por CRC32) 🟢
- O DETACH ocorre em
finallyindependente de erro 🟢
Requisitos Funcionais
| ID | Requisito | Prioridade | Critério de Aceite |
|---|---|---|---|
| RF-01 | Baixar banco de sugestões do servidor remoto | Should | Arquivo sugestoes_repertorio.db salvo em cache |
| RF-02 | Substituir todas as sugestões locais | Should | DELETE total + INSERT do banco importado |
| RF-03 | Bloquear downloads simultâneos | Must | Mutex downloadEmAndamento garante exclusividade |
Critérios de Aceitação
Dado que não há download em andamento
Quando `baixar` é disparado
Então sugestões locais são substituídas pelas do banco remoto
Dado que já há um download em andamento
Quando `baixar` é disparado novamente
Então erro "Já existe um download de sugestões em andamento" é lançado
Rastreabilidade de Código
| Arquivo | Função / Classe | Cobertura |
|---|---|---|
src/service/SugestoesRepertorioService.ts |
baixarSugestoes |
🟢 |
src/repository/BibliotecaSugestoesRepertorioRepository.ts |
importarSugestoes |
🟢 |
src/store/SugestoesRepertorio/SugestoesRepertorio.action.ts |
baixar |
🟢 |