barker/barker/barker/models/reprint.py

34 lines
980 B
Python

import uuid
from datetime import datetime
from barker.models.meta import Base
from sqlalchemy import Column, DateTime, ForeignKey, text
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
class Reprint(Base):
__tablename__ = "reprints"
id = Column(
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
)
date = Column("date", DateTime, nullable=False, index=True)
voucher_id = Column(
"voucher_id",
UUID(as_uuid=True),
ForeignKey("vouchers.id"),
nullable=False,
index=True,
)
user_id = Column("user_id", UUID(as_uuid=True), ForeignKey("users.id"), nullable=False)
user = relationship("User", backref="reprints")
def __init__(self, voucher_id=None, user_id=None, id_=None):
self.id = id_
self.date = datetime.utcnow()
self.voucher_id = voucher_id
self.user_id = user_id