from datetime import datetime from sqlalchemy import JSON from sqlalchemy.orm import Mapped, mapped_column from models import BaseTable, RichText class Invoice(BaseTable): __tablename__ = "invoice" 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(self, value: RichText) -> None: self.__message = value.model_dump_json()