python_cqrs_core.base_query¶
Base query with tracing and pagination fields.
Classes¶
Base query with tracing fields. |
|
Base query with pagination support. |
Module Contents¶
- class python_cqrs_core.base_query.BaseQuery¶
Bases:
pydantic.BaseModel,python_cqrs_core.query.IQueryBase query with tracing fields.
Provides common fields for observability. All queries should extend this class.
- Example:
>>> class GetUserQuery(BaseQuery): ... user_id: int >>> >>> query = GetUserQuery(user_id=1, requested_by="admin")
- request_id: uuid.UUID¶
- correlation_id: uuid.UUID | None¶
- requested_by: str | None¶
- requested_at: datetime.datetime¶
- model_config¶
- class python_cqrs_core.base_query.PaginatedQuery¶
Bases:
BaseQueryBase query with pagination support.
Extends BaseQuery with pagination fields.
- Example:
>>> class ListUsersQuery(PaginatedQuery): ... status: str = "active" >>> >>> query = ListUsersQuery(page=2, page_size=20) >>> offset = query.offset # 20
- page: int¶
- page_size: int¶
- property offset: int¶
Calculate offset from page and page_size.
- Returns:
Offset value for database queries
- Example:
>>> query = PaginatedQuery(page=3, page_size=20) >>> query.offset 40