notifications-fix
Some checks failed
Deploy on push / deploy (push) Failing after 5s

This commit is contained in:
2025-07-25 08:49:12 +03:00
parent 3ce870c81b
commit 0f16679a06
2 changed files with 25 additions and 71 deletions

View File

@@ -1,6 +1,5 @@
import enum
from datetime import datetime
from enum import Enum, auto
from enum import Enum
from sqlalchemy import JSON, Column, DateTime, ForeignKey, Integer, String
from sqlalchemy import Enum as SQLAlchemyEnum
@@ -11,60 +10,11 @@ from orm.base import BaseModel as Base
from utils.logger import root_logger as logger
class NotificationStatus(Enum):
"""Статусы уведомлений."""
UNREAD = auto()
READ = auto()
ARCHIVED = auto()
@classmethod
def from_string(cls, value: str) -> "NotificationStatus":
"""
Создает экземпляр статуса уведомления из строки.
Args:
value (str): Строковое представление статуса.
Returns:
NotificationStatus: Экземпляр статуса уведомления.
"""
try:
return cls[value.upper()]
except KeyError:
logger.error(f"Неверный статус уведомления: {value}")
raise ValueError("Неверный статус уведомления") # noqa: B904
class NotificationKind(Enum):
"""Типы уведомлений."""
COMMENT = auto()
MENTION = auto()
REACTION = auto()
FOLLOW = auto()
INVITE = auto()
@classmethod
def from_string(cls, value: str) -> "NotificationKind":
"""
Создает экземпляр типа уведомления из строки.
Args:
value (str): Строковое представление типа.
Returns:
NotificationKind: Экземпляр типа уведомления.
"""
try:
return cls[value.upper()]
except KeyError:
logger.error(f"Неверный тип уведомления: {value}")
raise ValueError("Неверный тип уведомления") # noqa: B904
class NotificationEntity(enum.Enum):
"""Сущности, связанные с уведомлениями."""
class NotificationEntity(Enum):
"""
Перечисление сущностей для уведомлений.
Определяет типы объектов, к которым относятся уведомления.
"""
TOPIC = "topic"
COMMENT = "comment"
@@ -90,14 +40,19 @@ class NotificationEntity(enum.Enum):
raise ValueError("Неверная сущность уведомления") # noqa: B904
class NotificationAction(enum.Enum):
"""Действия в уведомлениях."""
class NotificationAction(Enum):
"""
Перечисление действий для уведомлений.
Определяет типы событий, которые могут происходить с сущностями.
"""
CREATE = "create"
UPDATE = "update"
DELETE = "delete"
MENTION = "mention"
REACT = "react"
FOLLOW = "follow"
INVITE = "invite"
@classmethod
def from_string(cls, value: str) -> "NotificationAction":
@@ -117,6 +72,11 @@ class NotificationAction(enum.Enum):
raise ValueError("Неверное действие уведомления") # noqa: B904
# Оставляем для обратной совместимости
NotificationStatus = Enum("NotificationStatus", ["UNREAD", "READ", "ARCHIVED"])
NotificationKind = NotificationAction # Для совместимости со старым кодом
class NotificationSeen(Base):
__tablename__ = "notification_seen"