29 lines
564 B
Python
29 lines
564 B
Python
|
|
"""Common Pydantic schemas."""
|
||
|
|
from pydantic import BaseModel, ConfigDict, Field
|
||
|
|
|
||
|
|
|
||
|
|
class PaginationParams(BaseModel):
|
||
|
|
"""Pagination query parameters."""
|
||
|
|
|
||
|
|
skip: int = Field(default=0, ge=0)
|
||
|
|
limit: int = Field(default=50, ge=1, le=200)
|
||
|
|
|
||
|
|
|
||
|
|
class PaginatedResponse(BaseModel):
|
||
|
|
"""Paginated response wrapper."""
|
||
|
|
|
||
|
|
total: int
|
||
|
|
items: list
|
||
|
|
|
||
|
|
|
||
|
|
class MessageResponse(BaseModel):
|
||
|
|
"""Simple message response."""
|
||
|
|
|
||
|
|
message: str
|
||
|
|
|
||
|
|
|
||
|
|
class BaseSchema(BaseModel):
|
||
|
|
"""Base schema with ORM mode."""
|
||
|
|
|
||
|
|
model_config = ConfigDict(from_attributes=True)
|