partner-core/integration_models.py

44 lines
942 B
Python

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: int # id категории продажи
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"