Files
drivers_bot/app/schemas/user.py
2026-05-12 04:36:30 +09:00

69 lines
1.4 KiB
Python

from datetime import datetime
from pydantic import BaseModel, ConfigDict
class UserUpsert(BaseModel):
telegram_id: int
username: str | None = None
first_name: str | None = None
last_name: str | None = None
locale: str | None = None
currency: str | None = None
class WebAppAuthRequest(BaseModel):
init_data: str
class TelegramLoginRequest(BaseModel):
id: int
first_name: str | None = None
last_name: str | None = None
username: str | None = None
photo_url: str | None = None
auth_date: int
hash: str
class AuthConfig(BaseModel):
bot_username: str
vapid_public_key: str | None = None
class PushSubscriptionKeys(BaseModel):
p256dh: str | None = None
auth: str | None = None
class PushSubscriptionCreate(BaseModel):
endpoint: str
keys: PushSubscriptionKeys | None = None
user_agent: str | None = None
class ReminderRead(BaseModel):
id: int
car_id: int
car_name: str
title: str
service_type: str
due_date: str | None = None
due_odometer: int | None = None
current_odometer: int | None = None
priority: str
class UserPreferencesUpdate(BaseModel):
locale: str | None = None
currency: str | None = None
class UserRead(UserUpsert):
id: int
locale: str
currency: str
created_at: datetime
model_config = ConfigDict(from_attributes=True)