Files
geozoner-back/app/schemas/user.py
Redsandy 3ea4fb4771 init
2026-03-14 18:48:57 +03:00

49 lines
880 B
Python

import uuid
from datetime import datetime
from pydantic import BaseModel, EmailStr
class UserCreate(BaseModel):
username: str
email: str
password: str
class UserRead(BaseModel):
id: uuid.UUID
username: str
email: str
avatar_url: str | None = None
created_at: datetime
class UserUpdate(BaseModel):
username: str | None = None
avatar_url: str | None = None
fcm_token: str | None = None
class UserStats(BaseModel):
id: uuid.UUID
username: str
avatar_url: str | None = None
total_area_m2: float = 0.0
total_points: int = 0
zone_count: int = 0
activity_count: int = 0
class LoginRequest(BaseModel):
username: str
password: str
class TokenResponse(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
class RefreshRequest(BaseModel):
refresh_token: str