52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
"""
|
|
Base request models for API endpoints.
|
|
|
|
This module provides base request models that can be used across different endpoints
|
|
to ensure consistent request handling and validation.
|
|
"""
|
|
|
|
from typing import Dict, Any, TypeVar
|
|
from pydantic import BaseModel, Field, ConfigDict
|
|
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
class EndpointBaseRequestModel(BaseModel):
|
|
|
|
data: dict = Field(..., description="Data to be sent with the request")
|
|
|
|
class Config:
|
|
json_schema_extra = {
|
|
"data": {
|
|
"key": "value",
|
|
}
|
|
}
|
|
|
|
|
|
class SuccessResponse(BaseModel):
|
|
"""Standard success response model."""
|
|
|
|
data: Dict[str, Any] = Field(
|
|
...,
|
|
example={
|
|
"id": "123",
|
|
"username": "john.doe",
|
|
"email": "john@example.com",
|
|
"role": "user",
|
|
},
|
|
)
|
|
|
|
model_config = ConfigDict(
|
|
json_schema_extra={
|
|
"example": {
|
|
"data": {
|
|
"id": "123",
|
|
"username": "john.doe",
|
|
"email": "john@example.com",
|
|
"role": "user",
|
|
},
|
|
}
|
|
}
|
|
)
|