aboutsummaryrefslogtreecommitdiff
path: root/models/suggest.py
diff options
context:
space:
mode:
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()