finally, queue logic

This commit is contained in:
2024-04-14 01:19:20 +03:00
parent d716a92dac
commit c64958bb9d
15 changed files with 177 additions and 17 deletions

View File

@ -34,11 +34,35 @@ class AnonymousUser(Base):
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
name = Column(String, index=True)
parts_in_queues = relationship("QueueUser", backref="user", lazy="dynamic")
class Queue(Base):
__tablename__ = "queues"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
created = Column(DateTime, default=datetime.datetime.utcnow)
name = Column(String, index=True)
description = Column(String, index=True)
owner_id = Column(UUID(as_uuid=True), ForeignKey("users.id"))
start_time = Column(DateTime, nullable=True)
users = relationship("QueueUser", backref="queue", lazy="dynamic")
class QueueUser(Base):
__tablename__ = "queueuser"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
user_id = Column(UUID(as_uuid=True), ForeignKey("anonymoususers.id"))
queue_id = Column(UUID(as_uuid=True), ForeignKey("queues.id"))
position = Column(Integer)
passed = Column(Boolean, default=False)
class QueueLog(Base):
__tablename__ = "queuelog"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
action = Column(String)
created = Column(DateTime, default=datetime.datetime.utcnow)