Files
shveitechbot/db/models/invoices.py

25 lines
778 B
Python

from datetime import datetime
from enum import Enum as E_cls
from sqlalchemy import DateTime, func, Enum
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy.dialects.postgresql import BIGINT
from db.base import Base
class InvoiceStatus(E_cls):
PENDING = "PENDING"
PAID = "PAID"
EXPIRED = "EXPIRED"
class Invoice(Base):
__tablename__ = "invoices"
id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True)
creator_id: Mapped[int] = mapped_column(BIGINT)
amount: Mapped[int] = mapped_column(BIGINT)
status: Mapped[InvoiceStatus] = mapped_column(Enum(InvoiceStatus))
inline_message_id: Mapped[str] = mapped_column(nullable=True)
created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now())