Users Domain Filters

Provides filter schemas for user resources, enabling advanced search capabilities, status filtering, and temporal record management.

class UserFilters[source]

Bases: CommonFilters

Specific filters for User domain.

field order_by: Annotated[Literal['name', 'email', 'createdAt'], Field(description='Field to order by.')] = 'name' (alias 'orderBy')

Field to order by.

field is_active: Annotated[bool | None, Field(description='Filter by active or inactive status.')] = None (alias 'isActive')

Filter by active or inactive status.

field created_before: Annotated[AwareDatetime | None, Field(description='Filter by created date before this timestamp (ISO 8601 UTC). Example: 2026-03-10T14:00:00Z')] = None (alias 'createdBefore')

Filter by created date before this timestamp (ISO 8601 UTC). Example: 2026-03-10T14:00:00Z

field created_after: Annotated[AwareDatetime | None, Field(description='Filter by created date after this timestamp (ISO 8601 UTC). Example: 2026-03-10T14:00:00Z')] = None (alias 'createdAfter')

Filter by created date after this timestamp (ISO 8601 UTC). Example: 2026-03-10T14:00:00Z

field search_string: Annotated[str | None, AfterValidator(lambda v: ...), Field(description='Search term.')] = None (alias 'searchString')

Search term.

field current_page: Annotated[int, Field(ge=1, description='Page number for pagination.')] = 1 (alias 'currentPage')

Page number for pagination.

field page_size: Annotated[int, Field(ge=1, le=100, description='Number of items per page.')] = 20 (alias 'pageSize')

Number of items per page.

field sort_order: Annotated[Literal['asc', 'desc'], Field(description="Sort order ('asc' or 'desc').")] = 'asc' (alias 'sortOrder')

Sort order (‘asc’ or ‘desc’).