Skip to main content

Module cqrs

Module cqrs 

Source
Expand description

Generic CQRS commands, queries, and their handlers.

Generated code emits type aliases only — zero logic per entity:

ⓘ
// Generated (replaces ~200 lines per entity):
pub type CreateOrderCommand  = GenericCreateCommand<Order, CreateOrderDto>;
pub type UpdateOrderCommand  = GenericUpdateCommand<Order, UpdateOrderDto>;
pub type DeleteOrderCommand  = GenericDeleteCommand<Order>;
pub type GetOrderQuery       = GenericGetQuery<Order>;
pub type ListOrderQuery      = GenericListQuery<Order, OrderFilters>;

pub type OrderCommandHandler = GenericCommandHandler<Order, CreateOrderDto, UpdateOrderDto, OrderService>;
pub type OrderQueryHandler   = GenericQueryHandler<Order, OrderFilters, OrderService>;

Custom command/query types (beyond CRUD) live in the // <<< CUSTOM zone and implement the standard Command / Query traits from command.rs / query.rs.

Structs§

GenericCommandHandler
Handles all standard CRUD commands for entity E.
GenericCreateCommand
Generic “create entity” command.
GenericDeleteCommand
Generic “soft-delete entity” command.
GenericGetQuery
Generic “get entity by id” query.
GenericListDeletedQuery
Generic “list deleted entities” query.
GenericListQuery
Generic “list entities” query.
GenericQueryHandler
Handles all standard CRUD queries for entity E.
GenericRestoreCommand
Generic “restore soft-deleted entity” command.
GenericUpdateCommand
Generic “full update entity” command.

Traits§

CqrsReadService
Minimal read-only service contract for query handlers. Implemented by GenericCrudService and any custom service wrapper.
CqrsService
Service contract required by the generic command handler.