Files
robot-control-system/app/schemas.py

52 lines
972 B
Python

from datetime import datetime
from pydantic import BaseModel, EmailStr, Field
class UserRegister(BaseModel):
email: EmailStr
password: str = Field(min_length=6, max_length=128)
class UserLogin(BaseModel):
email: EmailStr
password: str
class UserPublic(BaseModel):
id: int
email: str
rating: float
points: int
created_at: datetime
class Config:
from_attributes = True
class SessionPublic(BaseModel):
id: int
created_at: datetime
expires_at: datetime
is_active: bool
class Config:
from_attributes = True
class ExternalDataCreate(BaseModel):
source: str = Field(min_length=1, max_length=128)
payload: dict | str
points_delta: int = 0
rating_delta: float = 0.0
class ExternalDataPublic(BaseModel):
id: int
source: str
payload: str
created_at: datetime
class Config:
from_attributes = True