79 lines
2.3 KiB
Python
79 lines
2.3 KiB
Python
from sqlalchemy import (
|
|
BigInteger,
|
|
Boolean,
|
|
Column,
|
|
DateTime,
|
|
Enum,
|
|
ForeignKey,
|
|
Integer,
|
|
Numeric,
|
|
String,
|
|
Table,
|
|
Text,
|
|
)
|
|
|
|
from televend_core.databases.televend_repositories.cashbag_conform.enum import (
|
|
CashBagConformStatusEnum,
|
|
)
|
|
from televend_core.databases.televend_repositories.table_meta import metadata_obj
|
|
|
|
CASHBAG_CONFORM_TABLE = Table(
|
|
"cashbag_conforms",
|
|
metadata_obj,
|
|
Column("id", Integer, primary_key=True, autoincrement=True),
|
|
Column("alive", Boolean, nullable=False),
|
|
Column("count_coins", Numeric(12, 4), nullable=False),
|
|
Column("count_bills", Numeric(12, 4), nullable=False),
|
|
Column("tokens_number", Numeric(12, 4), nullable=False),
|
|
Column("tokens_total", Numeric(12, 4), nullable=False),
|
|
Column("count_timestamp", DateTime(timezone=True)),
|
|
Column("count_receive_timestamp", DateTime(timezone=True)),
|
|
Column("collect", Numeric(12, 4), nullable=False),
|
|
Column("collect_timestamp", DateTime(timezone=True)),
|
|
Column("diff", Numeric(12, 4), nullable=False),
|
|
Column(
|
|
"author_info_id",
|
|
Integer,
|
|
ForeignKey("author_infos.id", deferrable=True, initially="DEFERRED"),
|
|
nullable=False,
|
|
unique=True,
|
|
),
|
|
Column(
|
|
"cashbag_id",
|
|
Integer,
|
|
ForeignKey("cashbags.id", deferrable=True, initially="DEFERRED"),
|
|
),
|
|
Column(
|
|
"cashflow_collection_id",
|
|
Integer,
|
|
ForeignKey("cashflow_collections.id", deferrable=True, initially="DEFERRED"),
|
|
),
|
|
Column(
|
|
"collect_user_id",
|
|
Integer,
|
|
ForeignKey("custom_users.user_ptr_id", deferrable=True, initially="DEFERRED"),
|
|
),
|
|
Column(
|
|
"count_user_id",
|
|
Integer,
|
|
ForeignKey("custom_users.user_ptr_id", deferrable=True, initially="DEFERRED"),
|
|
),
|
|
Column(
|
|
"machine_id",
|
|
Integer,
|
|
ForeignKey("machines.id", deferrable=True, initially="DEFERRED"),
|
|
),
|
|
Column("external_route_id", BigInteger),
|
|
Column("external_route_name", String(255)),
|
|
Column("no_cashbag_reason", Integer),
|
|
Column("description", Text, nullable=True),
|
|
Column(
|
|
"status",
|
|
Enum(
|
|
*CashBagConformStatusEnum.to_value_list(),
|
|
name="cashbag_conform_status_enum",
|
|
),
|
|
nullable=True,
|
|
),
|
|
)
|