Edit on GitHub

src.db.models

Модуль базы данных.

Этот модуль содержит схемы таблиц базы данных и перечисления, используемые в проекте. Он импортирует необходимые модели и определяет структуру базы данных.

Импортируемые модели:

  • UserData: Модель данных пользователя.
  • Transactions: Модель транзакций.
  • WgConfig: Модель конфигурации WireGuard.
  • Reports: Модель отчетов.
  • YoomoneyOperation: Модель операции YooMoney.
  • YoomoneyOperationDetails: Модель деталей операции YooMoney.
  • News: Модель новостей.

Перечисления:

  • FreezeSteps: Шаги заморозки.
  • ReportStatus: Статусы отчетов.
  • UserActivity: Статусы активности пользователей.
  • Notifications: Типы уведомлений.

Словарь TABLES_SCHEMA сопоставляет названия таблиц с их соответствующими моделями.

Attributes:
  • TABLES_SCHEMA (dict): Словарь, где ключами являются названия таблиц,
  • а значениями - соответствующие модели.
 1"""
 2Модуль базы данных.
 3
 4Этот модуль содержит схемы таблиц базы данных и перечисления, используемые в проекте.
 5Он импортирует необходимые модели и определяет структуру базы данных.
 6
 7Импортируемые модели:
 8- UserData: Модель данных пользователя.
 9- Transactions: Модель транзакций.
10- WgConfig: Модель конфигурации WireGuard.
11- Reports: Модель отчетов.
12- YoomoneyOperation: Модель операции YooMoney.
13- YoomoneyOperationDetails: Модель деталей операции YooMoney.
14- News: Модель новостей.
15
16Перечисления:
17- FreezeSteps: Шаги заморозки.
18- ReportStatus: Статусы отчетов.
19- UserActivity: Статусы активности пользователей.
20- Notifications: Типы уведомлений.
21
22Словарь TABLES_SCHEMA сопоставляет названия таблиц с их соответствующими моделями.
23
24Attributes:
25    TABLES_SCHEMA (dict): Словарь, где ключами являются названия таблиц,
26    а значениями - соответствующие модели.
27"""
28
29from core.config import Base
30from db import ddl as _  # NOTE TRIGGERS
31from db.models.enums import (FreezeSteps, NotificationType, ReportStatus,
32                             UserActivity)
33from db.models.news import News
34from db.models.notifications import Notifications
35from db.models.reports import Reports
36from db.models.transactions import Transactions
37from db.models.userdata import UserData
38from db.models.wg_config import WgConfig
39from db.models.yoomoney import (YoomoneyOperation, YoomoneyOperationDetails,
40                                yoomoney_site_display)
41
42TABLES_SCHEMA = {
43    UserData.__tablename__: UserData,
44    Transactions.__tablename__: Transactions,
45    WgConfig.__tablename__: WgConfig,
46    Reports.__tablename__: Reports,
47    YoomoneyOperation.__tablename__: YoomoneyOperation,
48    News.__tablename__: News,
49    Notifications.__tablename__: Notifications,
50}
TABLES_SCHEMA = {'userdata': <class 'db.models.userdata.UserData'>, 'transactions': <class 'db.models.transactions.Transactions'>, 'wg_config': <class 'db.models.wg_config.WgConfig'>, 'reports': <class 'db.models.reports.Reports'>, 'yoomoney': <class 'db.models.yoomoney.YoomoneyOperation'>, 'news': <class 'db.models.news.News'>, 'notifications': <class 'db.models.notifications.Notifications'>}