python_cqrs_core.base_query =========================== .. py:module:: python_cqrs_core.base_query .. autoapi-nested-parse:: Base query with tracing and pagination fields. Classes ------- .. autoapisummary:: python_cqrs_core.base_query.BaseQuery python_cqrs_core.base_query.PaginatedQuery Module Contents --------------- .. py:class:: BaseQuery Bases: :py:obj:`pydantic.BaseModel`, :py:obj:`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") .. py:attribute:: request_id :type: uuid.UUID .. py:attribute:: correlation_id :type: Optional[uuid.UUID] .. py:attribute:: requested_by :type: Optional[str] .. py:attribute:: requested_at :type: datetime.datetime .. py:attribute:: model_config .. py:class:: PaginatedQuery Bases: :py:obj:`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 .. py:attribute:: page :type: int .. py:attribute:: page_size :type: int .. py:property:: offset :type: 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