Listar Catálogo de Obras
Gerado pelo Writer (Reversa) em 2026-05-11
doc_level: detalhado | Módulo pai:biblioteca
Visão Geral
Caso de uso que exibe ao usuário o catálogo de obras disponíveis, indicando quais estão instaladas, desatualizadas ou ainda não baixadas, com base na comparação de CRC32 remoto vs. local.
Responsabilidades
- Buscar catálogo remoto de obras via API
- Consultar exemplares ativos no banco local
- Calcular
SituacaoItemObrapara cada obra - Exibir lista filtrada (apenas
disponivel = true)
Regras de Negócio
SituacaoItemObra.ATUALIZADA: obra presente no banco local com CRC32 igual ao remoto 🟢SituacaoItemObra.NAO_BAIXADA: obra sem exemplar local 🟢SituacaoItemObra.NAO_ATUALIZADA: obra com exemplar local mas CRC32 diferente 🟢- Obras com
disponivel = falsesão removidas antes da exibição 🟢
Requisitos Funcionais
| ID | Requisito | Prioridade | Critério de Aceite |
|---|---|---|---|
| RF-01 | Exibir lista de obras disponíveis com situação | Must | Cada item exibe título, descrição e label de situação |
| RF-02 | Filtrar obras com disponivel = false |
Must | Obras indisponíveis não aparecem na lista |
| RF-03 | Exibir indicador de carregamento durante fetch | Should | Spinner visível enquanto isLoading = true |
| RF-04 | Exibir estado de erro com botão de retry | Should | BibliotecaModalErrorState exibido quando isError = true |
Critérios de Aceitação
Dado que o usuário abre o modal de obras
Quando o catálogo remoto e os exemplares locais são carregados
Então cada obra aparece com situação correta (ATUALIZADA / NAO_BAIXADA / NAO_ATUALIZADA)
Dado que a API retorna uma obra com disponivel = false
Quando a lista é processada
Então essa obra não aparece para o usuário
Dado que ocorre erro de rede ao carregar o catálogo
Quando a query falha
Então BibliotecaModalErrorState é exibido com botão de retry
Rastreabilidade de Código
| Arquivo | Função / Classe | Cobertura |
|---|---|---|
src/store/Biblioteca/Biblioteca.api.ts |
getItensObras |
🟢 |
src/repository/BibliotecaRepository.ts |
findExemplaresAtivos |
🟢 |
src/view/screen/biblioteca/fragment/SelecaoObrasBibliotecaModal.tsx |
renderização da lista | 🟢 |
src/view/component/list/data/ObraItemListData.ts |
SituacaoItemObra |
🟢 |