from dataclasses import dataclass, field from datetime import datetime from decimal import Decimal from televend_core.databases.base_model import Base from televend_core.databases.televend_repositories.author_info.model import AuthorInfo from televend_core.databases.televend_repositories.cashbag.model import CashBag from televend_core.databases.televend_repositories.cashbag_conform.enum import ( CashBagConformStatusEnum, ) from televend_core.databases.televend_repositories.cashbag_conform_denominations.model import ( CashBagConformDenomination, ) from televend_core.databases.televend_repositories.cashflow_collection.model import ( CashFlowCollection, ) from televend_core.databases.televend_repositories.custom_user.model import CustomUser from televend_core.databases.televend_repositories.machine.model import Machine @dataclass class CashBagConform(Base): count_coins: Decimal count_bills: Decimal tokens_number: Decimal tokens_total: Decimal collect: Decimal diff: Decimal author_info_id: int author_info: AuthorInfo count_timestamp: datetime | None = None count_receive_timestamp: datetime | None = None collect_timestamp: datetime | None = None cashbag_id: int | None = None cashbag: CashBag | None = None cashflow_collection_id: int | None = None cashflow_collection: CashFlowCollection | None = None collect_user_id: int | None = None collect_user: CustomUser | None = None count_user_id: int | None = None count_user: CustomUser | None = None machine_id: int | None = None machine: Machine | None = None external_route_id: int | None = None external_route_name: str | None = None no_cashbag_reason: int | None = None description: str | None = None status: CashBagConformStatusEnum | None = None denominations: list[CashBagConformDenomination] | None = field(default_factory=list) alive: bool = True id: int | None = None