aboutsummaryrefslogtreecommitdiff
path: root/models/suggest.py
diff options
context:
space:
mode:
authorTolmachev Igor <me@igorek.dev>2026-03-23 00:07:08 +0300
committerTolmachev Igor <me@igorek.dev>2026-03-23 00:07:08 +0300
commitbc7f486aa7b543a934f4cf23dc80a95f44afcb64 (patch)
treec03e6f3f43b3c485561c729521c52331c9061a23 /models/suggest.py
parent536d022e8a55f6e53f01dfb7e0fae2ef24385aad (diff)
downloadvpn_manager_bot-bc7f486aa7b543a934f4cf23dc80a95f44afcb64.tar.gz
vpn_manager_bot-bc7f486aa7b543a934f4cf23dc80a95f44afcb64.zip
Add initial database migration
Diffstat (limited to 'models/suggest.py')
-rw-r--r--models/suggest.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/models/suggest.py b/models/suggest.py
new file mode 100644
index 0000000..1ba18a0
--- /dev/null
+++ b/models/suggest.py
@@ -0,0 +1,23 @@
1from sqlalchemy import JSON
2from sqlalchemy.orm import Mapped, mapped_column
3from sqlalchemy.sql.schema import ForeignKey
4
5from models import RichText, User
6from models.base import BaseTable
7
8
9class Suggest(BaseTable):
10 __tablename__ = "suggest"
11
12 id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True)
13 user_id: Mapped[int] = mapped_column(ForeignKey(User.id))
14 suggested_user_id: Mapped[int]
15 __message: Mapped[str] = mapped_column("message", JSON())
16
17 @property
18 def message(self) -> RichText:
19 return RichText.model_validate_json(self.__message)
20
21 @message.setter
22 def message_set(self, value: RichText) -> None:
23 self.__message = value.model_dump_json()