This commit is contained in:
dj
2025-10-10 07:04:08 +03:00
parent 9a48d6f60f
commit c9099dac69
26 changed files with 738 additions and 405 deletions
+23 -16
View File
@@ -4,33 +4,40 @@ import sqlite3
from pydantic import BaseModel
from tgbot.data.config import PATH_DATABASE
from tgbot.database.db_helper import dict_factory, update_format
from tgbot.database.adb_helper import Databasex, dict_factory, update_format
# Модель таблицы
class SettingsModel(BaseModel):
status_work: str # Статус работы бота
# Table model
class ModelBase(BaseModel):
status_work: str # Status bot work
class Config:
json_schema_extra = {
'storage_name': 'storage_settings'
}
# Работа с настройками
class Settingsx:
storage_name = "storage_settings"
# Settings
class Settingsx(Databasex[ModelBase]):
def __init__(self):
super().__init__()
self.table_model = ModelBase
self.storage_name = self.table_model.model_json_schema()['storage_name']
self.column_one = True
# Получение записи
@staticmethod
def get() -> SettingsModel:
# Get entry
def get(self) -> ModelBase:
with sqlite3.connect(PATH_DATABASE) as con:
con.row_factory = dict_factory
sql = f"SELECT * FROM {Settingsx.storage_name}"
sql = f"SELECT * FROM {self.storage_name}"
return SettingsModel(**con.execute(sql).fetchone())
return ModelBase(**con.execute(sql).fetchone())
# Редактирование записи
@staticmethod
def update(**kwargs):
# Edit entry
def update(self, **kwargs):
with sqlite3.connect(PATH_DATABASE) as con:
con.row_factory = dict_factory
sql = f"UPDATE {Settingsx.storage_name} SET"
sql = f"UPDATE {self.storage_name} SET"
sql, parameters = update_format(sql, kwargs)
con.execute(sql, parameters)