python_cqrs_core.base_query

Base query with tracing and pagination fields.

Classes

BaseQuery

Base query with tracing fields.

PaginatedQuery

Base query with pagination support.

Module Contents

class python_cqrs_core.base_query.BaseQuery

Bases: pydantic.BaseModel, python_cqrs_core.query.IQuery

Base 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: BaseQuery

Base 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