diff --git a/Party/model.py b/Party/model.py index 8393370..febffb3 100644 --- a/Party/model.py +++ b/Party/model.py @@ -11,4 +11,5 @@ class Party(Base): code: int = Column(String, unique=True) creator_id: int = Column(Integer, ForeignKey('ChainUser.id', ondelete='CASCADE'), nullable=True, default=None) winner_id: int = Column(Integer, ForeignKey('ChainUser.id', ondelete='CASCADE'), nullable=True, default=None) + rule: str = Column(String, default='') # users = relationship('ChainUser', foreign_keys=[home_id]) \ No newline at end of file diff --git a/Party/router.py b/Party/router.py index 9d73a6b..53b5642 100644 --- a/Party/router.py +++ b/Party/router.py @@ -65,7 +65,7 @@ def create(user:ChainUserSchema): 'user':u.id} @router.put("/start/{user_id}") -def start(user_id:int): +def start(user_id:int, rule: str): u = get_user(user_id) p = get_party_by_id(u.party_id) if not p.creator_id == user_id: @@ -81,6 +81,7 @@ def start(user_id:int): for i in range(len(ul)): ul[i].next_user_id = ul[(i+1)%len(ul)].id p.started = True + p.rule = rule db.session.commit() db.session.refresh(p) for u in ul: @@ -169,6 +170,7 @@ def refresh(user_id:int): 'num_killed': u.num_killed, 'total_users': len(get_party_users(p.id)), 'remaining_users': len([u for u in get_party_users(p.id) if not u.dead]), + 'rule': p.rule, 'target': { 'name': t.name, 'image': t.image @@ -177,6 +179,7 @@ def refresh(user_id:int): return { 'name': u.name, 'code': p.code, + 'rule': p.rule, 'is_creator': p.creator_id == user_id, 'users': [{ 'id': u.id, 'name': u.name, 'image': u.image} for u in get_party_users(p.id)] }