schema.py
965 Bytes
import re
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field, root_validator
from fastapi import Query
class OrmBaseModel(BaseModel):
model_config = ConfigDict(from_attributes=True)
class SearchQueryParams(BaseModel):
page: Optional[int] = Query(default=1, le=100)
q: Optional[str] = Query(default=None, min_length=3, max_length=128)
order: Optional[str] = Query(default=None, max_length=5)
is_class: Optional[bool] = Query(default=None)
class_: Optional[str] = Query(default=None)
class QueryParams(BaseModel):
id: Optional[str] = Query(default=None)
gestion: Optional[int] = Query(default=None)
nivel: Optional[str] = Query(default=None)
class DailyParams(BaseModel):
transferencias: Optional[bool] = Query(default=False)
dias: Optional[int] = Query(default=None)
entidad: Optional[int] = Query(default=None, ge=0, le=10000)
page: Optional[int] = Query(default=1, ge=1, le=100)