Query¶
Module defining the base Query class for domain queries.
query
¶
Module defining the base Query class for domain queries.
Query
¶
Bases: Message, ABC
Base class for all domain queries.
Queries represent a request to retrieve data from the domain.
They are handled by query handlers and should not modify state.
Queries are named in interrogative mood (e.g., GetOrder, FindCustomer,
listProducts).
Example
class GetOrder(Query):
... def init(
... self,
... order_id: str,
... metadata: MessageMetadata | None = None
... ):
... super().init(metadata)
... self._order_id = order_id
...
... @property
... def order_id(self) -> str:
... return self._order_id
...
... @property
... def payload(self) -> dict[str, Any]:
... return {
... "order_id": self._order_id
... }