Files
shveitechbot/dto/catalogue.py
2026-08-19 21:33:22 +07:00

41 lines
812 B
Python

from dataclasses import dataclass
from enum import Enum
from aiogram.types import Message
from db.models import Category
from db.models.products import Product
class CatalogueType(Enum):
CATEGORIES = "categories"
PRODUCTS = "products"
EMPTY = "empty"
@dataclass
class CatalogueView:
view_type: CatalogueType | None = None
category: Category | None = None
children: list[Category] | None = None
products: list[Product] | None = None
page: int = 0
total: int = 0
parent_id: int | str | None = None
has_next: bool = False
show_menu: bool = False
@dataclass
class NewCatalogueElement:
msg: Message
parent_id: int | str
@dataclass
class CategoryActionContext(NewCatalogueElement): ...
@dataclass
class ProductActionContext(NewCatalogueElement): ...