diff options
Diffstat (limited to 'models/invoce.py')
| -rw-r--r-- | models/invoce.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/models/invoce.py b/models/invoce.py index 54a445e..66ff019 100644 --- a/models/invoce.py +++ b/models/invoce.py | |||
| @@ -1,13 +1,22 @@ | |||
| 1 | from datetime import datetime | 1 | from datetime import datetime |
| 2 | 2 | ||
| 3 | from sqlalchemy import JSON | ||
| 3 | from sqlalchemy.orm import Mapped, mapped_column | 4 | from sqlalchemy.orm import Mapped, mapped_column |
| 4 | 5 | ||
| 5 | from models import BaseTable | 6 | from models import BaseTable, RichText |
| 6 | 7 | ||
| 7 | 8 | ||
| 8 | class Invoice(BaseTable): | 9 | class Invoice(BaseTable): |
| 9 | __tablename__ = "invoice" | 10 | __tablename__ = "invoice" |
| 10 | 11 | ||
| 11 | id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) | 12 | id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) |
| 12 | amount: Mapped[float] | 13 | __message: Mapped[str] = mapped_column("message", JSON()) |
| 13 | datetime: Mapped[datetime] | 14 | datetime: Mapped[datetime] |
| 15 | |||
| 16 | @property | ||
| 17 | def message(self) -> RichText: | ||
| 18 | return RichText.model_validate_json(self.__message) | ||
| 19 | |||
| 20 | @message.setter | ||
| 21 | def message(self, value: RichText) -> None: | ||
| 22 | self.__message = value.model_dump_json() | ||
