from typing import Optional from datetime import datetime from pydantic import BaseModel import uuid from enum import Enum # Models for /token endpoint class Token(BaseModel): access_token: str token_type: str class IntegrationTokenResponse(BaseModel): msg: str company_name: str company_key: str # Models for /sale endpoint class SaleCreateRequest(BaseModel): ref: Optional[str] = None promocode: Optional[str] = None sale_id: str cost: float category: str # название категории продажи group_sale_id: str # новое поле для группировки продаж class SaleCreateResponse(BaseModel): msg: str sale_id: str crediting: float class WithdrawRequest(BaseModel): tg_id: int amount: float class WithdrawResponse(BaseModel): msg: str transaction_id: uuid.UUID class TransactionStatus(str, Enum): NEW = "new" PROCESS = "process" WAITING = "waiting" DONE = "done" CANCELED = "canceled" ERROR = "error"