Core Use Case (Rust)
Overview
Use cases em application/<verb>_<entity_snake>.rs — struct CreateCustomer implementando UseCase<CreateCustomerInput, CustomerOutput>.
Guidelines
- Injetar
Arc<dyn CustomerRepository>(port, não adapter concreto). - Orquestrar domínio; retornar
Result. - Nome do use case sem sufixo
UseCaseredundante se o módulo já éapplication(CreateCustomer, nãoCreateCustomerUseCase— opcional, preferir nome curto).
Workflow
- Definir input/output DTOs.
- Implementar struct +
UseCaseasync. - Wire no handler Axum (
backend-controller-rs).
Global Standards
- Consultar
../config-shared-core-rs/references/rust-namespace-layout.md.