Biblioteca — Tarefas de Implementação
Gerado pelo Writer (Reversa) em 2026-05-11
doc_level: detalhado
Pré-requisitos
- [ ] Schema SQLite com tabelas
exemplar_biblioteca,musica,livro,editora,edicao_livro,cantico_livro,secao_edicao_livro,cantico_secaodisponíveis - [ ]
Banco.attachFromCacheeBanco.detachimplementados - [ ]
baixarArquivoecachePathimplementados emsrc/arch/util/fs - [ ] URL base
Api.APP_BIBLIOTECAeApi.APP_BIBLIOTECA_OBRAS_SQLITEconfiguradas
Tarefas
- [ ] T-01 — Implementar
BibliotecaApi.getItensObrascomqueryFncombinando API + banco local - Origem no legado:
src/store/Biblioteca/Biblioteca.api.ts—getItensObras - Critério de pronto: Retorna
ObraItemListData[]comsituacaocorreta para cada obra; obrasdisponivel=falsefiltradas -
Confiança: 🟢
-
[ ] T-02 — Implementar
ObraService.baixarObracom mutex estáticodownloadEmAndamento - Origem no legado:
src/service/ObraService.ts - Critério de pronto: Lança erro se download em andamento;
downloadEmAndamento = falseemfinally; retornapathdo arquivo baixado -
Confiança: 🟢
-
[ ] T-03 — Implementar
BibliotecaRepository.importarObracom ATTACH/DETACH - Origem no legado:
src/repository/BibliotecaRepository.ts—importarObra - Critério de pronto: Músicas, livros e índices importados corretamente; exemplar anterior desativado; DETACH em
finally -
Confiança: 🟢
-
[ ] T-04 — Implementar
BibliotecaAction.baixarObrascom batch e progress notification - Origem no legado:
src/store/Biblioteca/Biblioteca.action.ts—baixarObras - Critério de pronto: Progress notification atualizada por obra; delay de 2s entre downloads; erro agregado ao final
-
Confiança: 🟢
-
[ ] T-05 — Implementar
SelecaoObrasBibliotecaModalcom seleção e confirmação - Origem no legado:
src/view/screen/biblioteca/fragment/SelecaoObrasBibliotecaModal.tsx - Critério de pronto: Checkboxes por obra não baixada; obras desatualizadas adicionadas automaticamente ao confirmar
-
Confiança: 🟢
-
[ ] T-06 — Implementar
BibliotecaScreencom atalhos e links externos - Origem no legado:
src/view/screen/biblioteca/BibliotecaScreen.tsx - Critério de pronto: Botão abre modal de obras; cards CNBB abrem URLs corretas no browser
- Confiança: 🟢
Tarefas de Teste
- [ ] TT-01 — Download de obra: arquivo baixado, músicas importadas, exemplar registrado
- [ ] TT-02 — Mutex: segunda chamada
baixarObradurante download em andamento lança erro - [ ] TT-03 — CRC32: obra com CRC32 igual não é incluída no batch de obras desatualizadas
- [ ] TT-04 — DETACH garantido: erro durante importação não deixa banco em estado corrompido
Ordem Sugerida
- T-02 (service de download — independente)
- T-03 (repository de importação)
- T-01 (API query)
- T-04 (action de batch)
- T-05 + T-06 (UI)
Lacunas Pendentes (🔴)
atualizarthunk não analisado completamente — verificar comportamento- Sem verificação de espaço em disco — comportamento em disco cheio não mapeado
- Mutex estático não sobrevive a restart do app — considerar persistência do estado de download