feat: billing for groups of deals

This commit is contained in:
2024-11-15 20:27:16 +04:00
parent bbe9832923
commit e2d35fb7c4
6 changed files with 145 additions and 31 deletions

View File

@@ -5,8 +5,9 @@ from sqlalchemy import ForeignKey
from sqlalchemy.orm import Mapped, mapped_column, relationship
from models import BaseModel
if TYPE_CHECKING:
from models import Deal
from models import Deal, DealGroup
class DealBillRequest(BaseModel):
@@ -23,3 +24,19 @@ class DealBillRequest(BaseModel):
pdf_url: Mapped[str] = mapped_column(nullable=True)
invoice_number: Mapped[str] = mapped_column(nullable=True)
class GroupBillRequest(BaseModel):
__tablename__ = 'group_bill_requests'
group_id: Mapped[int] = mapped_column(ForeignKey('deal_groups.id'),
nullable=False,
primary_key=True,
unique=True)
group: Mapped['DealGroup'] = relationship(back_populates='bill_request')
created_at: Mapped[datetime.datetime] = mapped_column(nullable=False)
paid: Mapped[bool] = mapped_column(nullable=False, default=False)
pdf_url: Mapped[str] = mapped_column(nullable=True)
invoice_number: Mapped[str] = mapped_column(nullable=True)