diff options
| author | Tolmachev Igor <me@igorek.dev> | 2026-03-23 18:40:40 +0300 |
|---|---|---|
| committer | Tolmachev Igor <me@igorek.dev> | 2026-03-23 18:40:40 +0300 |
| commit | d5994e732d7b1dfa469cf400132ba49c8f75315e (patch) | |
| tree | a091b84babf7829ae6193d78fb8dc090336b0f9b /models/invoce.py | |
| parent | f7b7e87cffc9dcb2817b070d7a003ac234c96ec3 (diff) | |
| download | vpn_manager_bot-d5994e732d7b1dfa469cf400132ba49c8f75315e.tar.gz vpn_manager_bot-d5994e732d7b1dfa469cf400132ba49c8f75315e.zip | |
Add new_invoice command
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() | ||
