From 8e034766bb7e2d23f88c5ff1a254126f11a5f412 Mon Sep 17 00:00:00 2001 From: Tolmachev Igor Date: Mon, 23 Mar 2026 02:33:54 +0300 Subject: Fix database models --- models/__init__.py | 2 ++ models/announcement.py | 5 ++++- models/suggest.py | 7 +++++-- models/user.py | 2 ++ 4 files changed, 13 insertions(+), 3 deletions(-) (limited to 'models') diff --git a/models/__init__.py b/models/__init__.py index 412f467..9d56b33 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -4,6 +4,7 @@ from .rich_text import RichText from .user import User from .invoce import Invoice from .payment import Payment +from .announcement import Announcement # isort: on __all__ = [ @@ -12,4 +13,5 @@ __all__ = [ "Invoice", "Payment", "RichText", + "Announcement", ] diff --git a/models/announcement.py b/models/announcement.py index 9a6eef2..7243684 100644 --- a/models/announcement.py +++ b/models/announcement.py @@ -1,3 +1,5 @@ +from datetime import datetime + from sqlalchemy import JSON from sqlalchemy.orm import Mapped, mapped_column @@ -9,11 +11,12 @@ class Announcement(BaseTable): id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) __message: Mapped[str] = mapped_column("message", JSON()) + datetime: Mapped[datetime] @property def message(self) -> RichText: return RichText.model_validate_json(self.__message) @message.setter - def message_set(self, value: RichText) -> None: + def message(self, value: RichText) -> None: self.__message = value.model_dump_json() diff --git a/models/suggest.py b/models/suggest.py index 1ba18a0..a76a004 100644 --- a/models/suggest.py +++ b/models/suggest.py @@ -1,3 +1,5 @@ +from datetime import datetime + from sqlalchemy import JSON from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy.sql.schema import ForeignKey @@ -13,11 +15,12 @@ class Suggest(BaseTable): user_id: Mapped[int] = mapped_column(ForeignKey(User.id)) suggested_user_id: Mapped[int] __message: Mapped[str] = mapped_column("message", JSON()) + datetime: Mapped[datetime] @property def message(self) -> RichText: return RichText.model_validate_json(self.__message) @message.setter - def message_set(self, value: RichText) -> None: - self.__message = value.model_dump_json() + def message(self, value: RichText) -> None: + self.__message = value.model_dump_json(ensure_ascii=False) diff --git a/models/user.py b/models/user.py index 4983a13..690083c 100644 --- a/models/user.py +++ b/models/user.py @@ -1,3 +1,4 @@ +from datetime import datetime from enum import IntEnum from sqlalchemy.orm import Mapped, mapped_column @@ -16,6 +17,7 @@ class User(BaseTable): id: Mapped[int] = mapped_column(primary_key=True, autoincrement=False) role: Mapped[UserRole] = mapped_column(default=UserRole.REGULAR) vpn_link: Mapped[str] + datetime: Mapped[datetime] def is_regular(self) -> bool: return self.role >= UserRole.REGULAR -- cgit v1.3