porridger/back/schemas.py

54 lines
1.1 KiB
Python

from pydantic import BaseModel
from typing import Annotated, Union
from datetime import date
class Book(BaseModel):
id: int
class DelAnnouncement(BaseModel):
id: int
class Announcement(BaseModel):
id: int
user_id: int
name: str
category: str
best_by: date
address: str
longtitude: float
latitude: float
description: str
src: Union[str, None] = None #изображение продукта в объявлении
metro: str #ближайщее метро от адреса нахождения продукта
trashId: Union[int, None] = None
booked_by: int #статус бронирования (либо -1, либо айди бронирующего)
class Token(BaseModel):
access_token: str
# token_type: str
class TokenData(BaseModel):
email: Union[str, None] = None
class User(BaseModel):
id: int
email: str
name: Union[str, None] = None
surname: str
disabled: Union[bool, None] = None
items: list[Announcement] = []
class Config:
orm_mode = True
class UserInDB(User):
hashed_password: str