Core Repository (Rust)
Overview
Traits em domain/ports/repository.rs — ex.: CustomerRepository em modules::customers::domain::ports::CustomerRepository.
Guidelines
- Trait no domínio; implementação sqlx fica em
infrastructure::persistence::*Sqlx. - Métodos async com
#[async_trait]retornandoshared_kernel::Result. - Nome do trait:
<Entity>Repository(sem prefixoI).
Workflow
- Definir operações do aggregate.
- Criar trait em
domain/ports/. - Re-export em
domain/ports/mod.rs. - Adapter via
backend-data-rs.
Global Standards
- Consultar
../config-shared-core-rs/references/rust-namespace-layout.md.