Files
Fulfillment-Backend/models/marketplace.py
2024-09-01 01:05:11 +03:00

31 lines
1.0 KiB
Python

from sqlalchemy import ForeignKey, JSON
from sqlalchemy.orm import Mapped, mapped_column, relationship
from typing_extensions import TYPE_CHECKING
from models import BaseModel
if TYPE_CHECKING:
from models import Client
class BaseMarketplace(BaseModel):
__tablename__ = 'base_marketplaces'
key: Mapped[str] = mapped_column(primary_key=True)
name: Mapped[str] = mapped_column()
icon_url: Mapped[str] = mapped_column()
class Marketplace(BaseModel):
__tablename__ = 'marketplaces'
id: Mapped[int] = mapped_column(primary_key=True)
base_marketplace_key: Mapped[str] = mapped_column(ForeignKey("base_marketplaces.key"), nullable=False)
base_marketplace: Mapped["BaseMarketplace"] = relationship(lazy="joined")
client_id: Mapped[int] = mapped_column(ForeignKey('clients.id'), nullable=False, comment='ID клиента')
client: Mapped["Client"] = relationship('Client')
name: Mapped[str] = mapped_column(nullable=False)
auth_data: Mapped[dict] = mapped_column(type_=JSON)