schemas.common_schemas¶
src.schemas.common_schemas
¶
Common schemas used across multiple API endpoints.
Provides reusable schema components for pagination, date ranges, and standard response wrappers.
Reference
- docs/architecture/api-design-patterns.md
Classes¶
PaginationParams
¶
Bases: BaseModel
Pagination query parameters.
Attributes:
| Name | Type | Description |
|---|---|---|
page |
int
|
Page number (1-indexed). |
page_size |
int
|
Number of items per page. |
Source code in src/schemas/common_schemas.py
PaginatedMeta
¶
Bases: BaseModel
Pagination metadata for list responses.
Attributes:
| Name | Type | Description |
|---|---|---|
page |
int
|
Current page number. |
page_size |
int
|
Items per page. |
total_count |
int
|
Total items available. |
total_pages |
int
|
Total number of pages. |
Source code in src/schemas/common_schemas.py
Functions¶
from_pagination
classmethod
¶
Create pagination metadata from parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page
|
int
|
Current page number. |
required |
page_size
|
int
|
Items per page. |
required |
total_count
|
int
|
Total items available. |
required |
Returns:
| Type | Description |
|---|---|
PaginatedMeta
|
PaginatedMeta instance. |
Source code in src/schemas/common_schemas.py
DateRangeParams
¶
Bases: BaseModel
Date range query parameters.
Attributes:
| Name | Type | Description |
|---|---|---|
start_date |
date | None
|
Start of date range (inclusive). |
end_date |
date | None
|
End of date range (inclusive). |
Source code in src/schemas/common_schemas.py
SyncResponse
¶
Bases: BaseModel
Response for sync operations.
Attributes:
| Name | Type | Description |
|---|---|---|
created |
int
|
Number of new records created. |
updated |
int
|
Number of existing records updated. |
unchanged |
int
|
Number of records unchanged. |
errors |
int
|
Number of records that failed to sync. |
message |
str
|
Human-readable summary. |