feat(orders): integrate Pally payment and order management

This commit is contained in:
2026-07-31 13:42:14 +07:00
parent 2547bcfcba
commit 8fbd739697
20 changed files with 661 additions and 36 deletions

View File

@@ -1,6 +1,7 @@
from .addons import Addon
from .invoice import Invoice
from .pricing import PricingConfig
from .sessions import Session
from .users import User
__all__ = ["Addon", "PricingConfig", "Session", "User"]
__all__ = ["Addon", "Invoice", "PricingConfig", "Session", "User"]

25
db/models/invoice.py Normal file
View File

@@ -0,0 +1,25 @@
from typing import TYPE_CHECKING
from sqlalchemy import FLOAT, INTEGER, Enum, ForeignKey
from sqlalchemy.orm import Mapped, mapped_column, relationship
from db.base import Base
from schemas.invoices import InvoiceStatus
if TYPE_CHECKING:
from db.models import User
class Invoice(Base):
__tablename__ = "invoices"
id: Mapped[int] = mapped_column(
INTEGER, autoincrement=True, unique=True, nullable=False, primary_key=True
)
creator_id: Mapped[int] = mapped_column(ForeignKey("users.id"), nullable=False)
amount: Mapped[float] = mapped_column(FLOAT, nullable=False)
status: Mapped[InvoiceStatus] = mapped_column(
Enum(InvoiceStatus, name="invoicestatus"), nullable=False, default=InvoiceStatus.ACTIVE
)
user: Mapped["User"] = relationship("User")