Listar Catálogo de Obras — Design Técnico
Gerado pelo Writer (Reversa) em 2026-05-11
Interface
BibliotecaApi.useGetItensObrasQuery() → { data: ObraItemListData[], isLoading, isError, refetch }
interface ObraItemListData {
obra: Obra;
situacao: SituacaoItemObra; // ATUALIZADA | NAO_BAIXADA | NAO_ATUALIZADA
}
Fluxo Principal
- Modal monta →
BibliotecaApi.useGetItensObrasQuery()disparaqueryFn - Em paralelo:
fetchWithBQ('/obras')+BibliotecaRepository.findExemplaresAtivos() - Para cada
Obraremota: calculasituacaopor comparação decrc32e presença de exemplar - Filtra
disponivel = false - Retorna
ObraItemListData[]para renderização
Dependências
BibliotecaRepository.findExemplaresAtivos— mapa de exemplares ativos- API remota
/obras— catálogo de obras disponíveis
Riscos e Lacunas
- 🟡
obra.crc32 = undefinedresulta emNAO_ATUALIZADApotencialmente incorreto (ver EC-03 de edge-cases.md) - 🟡
refetché chamado nouseEffectde montagem — pode causar re-fetch desnecessário