33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import uuid
|
|
|
|
from barker.models.meta import Base
|
|
from sqlalchemy import Column, ForeignKey, Integer, Numeric, UniqueConstraint, text
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from sqlalchemy.orm import relationship
|
|
|
|
|
|
class Settlement(Base):
|
|
__tablename__ = "settlements"
|
|
__table_args__ = (UniqueConstraint("voucher_id", "settled"),)
|
|
|
|
id = Column(
|
|
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
|
|
)
|
|
voucher_id = Column(
|
|
"voucher_id",
|
|
UUID(as_uuid=True),
|
|
ForeignKey("vouchers.id"),
|
|
nullable=False,
|
|
index=True,
|
|
)
|
|
settled = Column("settled", Integer, ForeignKey("settle_options.id"), nullable=False)
|
|
amount = Column("amount", Numeric(precision=15, scale=2), nullable=False)
|
|
|
|
settle_option = relationship("SettleOption")
|
|
|
|
def __init__(self, voucher_id=None, settled=None, amount=None, id_=None):
|
|
self.id = id_
|
|
self.voucher_id = voucher_id
|
|
self.settled = settled
|
|
self.amount = amount
|