from pydantic import BaseModel | |
from typing import Optional | |
from datetime import datetime | |
class PersonBase(BaseModel): | |
username: str | |
class PersonCreate(PersonBase): | |
password: str | |
table_number: int | |
phone_number: Optional[str] = None | |
class PersonLogin(PersonBase): | |
password: str | |
table_number: int | |
class PhoneAuthRequest(BaseModel): | |
phone_number: str | |
table_number: int | |
class PhoneVerifyRequest(BaseModel): | |
phone_number: str | |
verification_code: str | |
table_number: int | |
class UsernameRequest(BaseModel): | |
phone_number: str | |
username: str | |
table_number: int | |
class Person(PersonBase): | |
id: int | |
visit_count: int | |
last_visit: datetime | |
created_at: datetime | |
phone_number: Optional[str] = None | |
class Config: | |
from_attributes = True # Updated from orm_mode for Pydantic V2 | |