template
This commit is contained in:
parent
8037489503
commit
ad189b8568
15 changed files with 1989 additions and 4 deletions
|
|
@ -614,6 +614,36 @@ class WhatsAppPhoneAsset(Base):
|
|||
account: Mapped[WhatsAppBusinessAccount] = relationship(back_populates="phones")
|
||||
|
||||
|
||||
class WhatsAppMessageTemplate(Base):
|
||||
"""A WhatsApp message template owned by one WABA. Meta remains the source of approval."""
|
||||
|
||||
__tablename__ = "whatsapp_message_templates"
|
||||
__table_args__ = (UniqueConstraint("waba_id", "name", "language", name="uq_wa_template_name_lang"),)
|
||||
|
||||
id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
user_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("user_accounts.id", ondelete="CASCADE"), index=True)
|
||||
account_id: Mapped[uuid.UUID] = mapped_column(
|
||||
ForeignKey("whatsapp_business_accounts.id", ondelete="CASCADE"), index=True
|
||||
)
|
||||
waba_id: Mapped[str] = mapped_column(String(64), index=True)
|
||||
phone_number_id: Mapped[str | None] = mapped_column(String(64), nullable=True)
|
||||
meta_template_id: Mapped[str | None] = mapped_column(String(64), nullable=True, index=True)
|
||||
name: Mapped[str] = mapped_column(String(512), index=True)
|
||||
language: Mapped[str] = mapped_column(String(16), default="en_US")
|
||||
category: Mapped[str] = mapped_column(String(32), default="MARKETING")
|
||||
subtype: Mapped[str] = mapped_column(String(40), default="default")
|
||||
status: Mapped[str] = mapped_column(String(32), default="PENDING", index=True)
|
||||
quality: Mapped[str | None] = mapped_column(String(24), nullable=True)
|
||||
rejected_reason: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||
parameter_format: Mapped[str] = mapped_column(String(16), default="POSITIONAL")
|
||||
definition: Mapped[dict] = mapped_column(JSON, default=dict)
|
||||
components: Mapped[list] = mapped_column(JSON, default=list)
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True), server_default=func.now(), onupdate=func.now()
|
||||
)
|
||||
|
||||
|
||||
class WhatsAppConnectionAudit(Base):
|
||||
__tablename__ = "whatsapp_connection_audits"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue