Expand description
Generic use cases — one per CRUD operation, composable via hooks.
Generated code emits a type alias per entity:
ⓘ
// Generated:
pub type CreateStoredFileUseCase = CreateUseCase<StoredFile, CreateStoredFileDto, StoredFileService>;
pub type UpdateStoredFileUseCase = UpdateUseCase<StoredFile, UpdateStoredFileDto, StoredFileService>;
// ... etc.Custom behaviour is injected through UseCaseHooks<E, DTO> — no generated
code modification required.
§Lifecycle (Create example)
before_create(dto) → build entity → validate → after_create(entity) → persist → publish eventStructs§
- Create
UseCase - Generic “create entity” use case.
- Default
Hooks - Default no-op hooks implementation.
- Delete
UseCase - Generic “delete entity” use case (soft-delete by default).
- GetUse
Case - Generic “get by id” use case.
- List
Params - Paginated list parameters.
- List
Result - Paginated list result.
- List
UseCase - Generic paginated list use case.
- Update
UseCase - Generic “update entity” use case.
Enums§
- UseCase
Error - The standard error type for all use case operations.
Traits§
- Entity
Factory - Builds an entity from a Create DTO.
- Entity
Updater - Applies update fields from an Update DTO to an existing entity.
- List
Service - Service contract for the list use case (separate because it needs pagination).
- UseCase
Hooks - Extension points for every CRUD use case.
- UseCase
Service - The minimal persistence + lookup contract required by all use cases.