feat: added CRUD operations for timers, created decorator for error handling, added schema ; refactor: updated functions and ; test: moved tests from to , written tests for CRUD operations on timers and database.

This commit is contained in:
Arduinum628
2025-05-28 22:09:41 +03:00
parent 310f7c2680
commit 50e76d4726
11 changed files with 262 additions and 65 deletions

View File

@@ -1,5 +1,6 @@
from enum import Enum
class ErrorMessage(Enum):
NO_TIME = 'Не указано время таймера!'
NEGATIVE_TIME = 'Время таймера не может быть отрицательным!'
@@ -10,3 +11,7 @@ class ErrorMessage(Enum):
TYPE_DICT = 'Тип данных не является словарем!'
NOT_INT_TYPE = 'Тип данных не является целым числом!'
KEY_ERROR = 'Ключ не найден!'
CONNECTION_ERROR = 'Подключение к базе данных не удалось!'
INTEGRITY_ERROR = 'Ошибка целостности данных (нарушение уникальности или связей)!'
OPERATIONAL_ERROR = 'Ошибка выполнения SQL-запроса (возможная блокировка или повреждение БД)!'
VALIDATION_ERROR = 'Ошибка валидации данных (несоответствие ожидаемой схеме)!'

View File

@@ -3,13 +3,14 @@ import json
from os import path, listdir
from kawai_focus.main import Logger
from kawai_focus.utils.errors import ErrorMessage
from kawai_focus.schemas import TimerTimeModel
from kawai_focus.utils.errors import ErrorMessage
class ReadJson:
"""Класс для чтения всех JSON-файлов в директории и объединения их в словарь."""
def __init__(self, folder_json: str):
self.folder_json = folder_json
self._json_data = self._read_all_json()