Fix category pricing to ignore full squads
This commit is contained in:
+22
-2
@@ -1281,6 +1281,22 @@ class PollAnswer(Base):
|
||||
)
|
||||
|
||||
|
||||
class ServerCategory(Base):
|
||||
__tablename__ = "server_categories"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
name = Column(String(255), nullable=False, unique=True)
|
||||
sort_order = Column(Integer, default=0)
|
||||
is_active = Column(Boolean, default=True, nullable=False)
|
||||
created_at = Column(DateTime, default=func.now(), nullable=False)
|
||||
updated_at = Column(DateTime, default=func.now(), onupdate=func.now(), nullable=False)
|
||||
|
||||
servers = relationship("ServerSquad", back_populates="category")
|
||||
|
||||
def __repr__(self) -> str: # pragma: no cover - debug helper
|
||||
return f"<ServerCategory(id={self.id}, name={self.name!r})>"
|
||||
|
||||
|
||||
class ServerSquad(Base):
|
||||
__tablename__ = "server_squads"
|
||||
|
||||
@@ -1302,8 +1318,10 @@ class ServerSquad(Base):
|
||||
description = Column(Text, nullable=True)
|
||||
|
||||
sort_order = Column(Integer, default=0)
|
||||
|
||||
max_users = Column(Integer, nullable=True)
|
||||
|
||||
category_id = Column(Integer, ForeignKey("server_categories.id", ondelete="SET NULL"), nullable=True)
|
||||
|
||||
max_users = Column(Integer, nullable=True)
|
||||
current_users = Column(Integer, default=0)
|
||||
|
||||
created_at = Column(DateTime, default=func.now())
|
||||
@@ -1315,6 +1333,8 @@ class ServerSquad(Base):
|
||||
back_populates="server_squads",
|
||||
lazy="selectin",
|
||||
)
|
||||
|
||||
category = relationship("ServerCategory", back_populates="servers")
|
||||
|
||||
@property
|
||||
def price_rubles(self) -> float:
|
||||
|
||||
Reference in New Issue
Block a user