Files
vyryi-back/app/schemas/__init__.py
Redsandy c9f66f330e init
2026-08-12 11:26:05 +03:00

57 lines
1.2 KiB
Python

from datetime import datetime
from decimal import Decimal
from pydantic import BaseModel, ConfigDict, Field
class DevLoginRequest(BaseModel):
telegram_id: int = Field(default=100001, ge=1)
username: str | None = "dev_user"
first_name: str | None = "Traveler"
class TelegramAuthRequest(BaseModel):
init_data: str
class TokenResponse(BaseModel):
access_token: str
token_type: str = "bearer"
class UserResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
telegram_id: int | None
username: str | None
first_name: str | None
balance: Decimal
agreement_accepted: bool
agreement_accepted_at: datetime | None
created_at: datetime
class DepositRequest(BaseModel):
amount: Decimal = Field(..., description="Allowed stub amounts: 100, 500, 1000")
class DepositResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
amount: Decimal
created_at: datetime
class WalletResponse(BaseModel):
balance: Decimal
deposits: list[DepositResponse]
class GameStub(BaseModel):
slug: str
title: str
description: str
status: str = "coming_soon"