Repository (Kotlin)
Overview
Aplicar o padrão de repositório em Kotlin para escrita e leitura de entidades de domínio com contratos (interfaces) no domínio e implementação desacoplada em infraestrutura.
Guidelines
- Definir interface no pacote de domínio.
- Implementar em adapter de infraestrutura (JPA, Exposed, etc.) retornando
Result. - Mapear domínio explicitamente:
toDomain(db -> entity) efromDomain(entity -> db). - Tratar falhas com
Result.failure(...). - Manter separação CQRS: Repository para comando/escrita, Query para leitura/projeção DTO.
Workflow
- Confirmar agregados/entidades cobertos pelo repositório.
- Definir/ajustar interface no pacote de domínio.
- Implementar adapter de infraestrutura respeitando o contrato.
- Implementar mapeamento
toDomain/fromDomain. - Garantir consistência transacional para operações compostas.
- Criar/ajustar mocks in-memory para testes de use case.
References
Consultar references/repository-pattern-kt.md para contratos, exemplos e checklist.
Consultar ../skills-standards.md para convenção global de nomenclatura (seção Kotlin).
Global Standards
- Consultar
../skills-standards.mdpara padrões globais de nomenclatura e convenções gerais entre skills.