Users Domain Filters¶
Provides filter schemas for user resources, enabling advanced search capabilities, status filtering, and temporal record management.
- class UserFilters[source]¶
Bases:
CommonFiltersSpecific 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’).