forked from rDrama/rDrama
add created_utc column to badges for ordering them on userpages
parent
7848b12fdd
commit
545f276940
|
@ -6,6 +6,7 @@ from files.helpers.lazy import lazy
|
|||
from files.helpers.const import *
|
||||
from datetime import datetime
|
||||
from json import loads
|
||||
import time
|
||||
|
||||
class BadgeDef(Base):
|
||||
__tablename__ = "badge_defs"
|
||||
|
@ -26,10 +27,16 @@ class Badge(Base):
|
|||
badge_id = Column(Integer, ForeignKey('badge_defs.id'), primary_key=True)
|
||||
description = Column(String)
|
||||
url = Column(String)
|
||||
created_utc = Column(Integer)
|
||||
|
||||
user = relationship("User", viewonly=True)
|
||||
badge = relationship("BadgeDef", primaryjoin="foreign(Badge.badge_id) == remote(BadgeDef.id)", viewonly=True)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
if "created_utc" not in kwargs:
|
||||
kwargs["created_utc"] = int(time.time())
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Badge(user_id={self.user_id}, badge_id={self.badge_id})>"
|
||||
|
||||
|
|
|
@ -132,7 +132,7 @@ class User(Base):
|
|||
total_held_lottery_tickets = Column(Integer, default=0)
|
||||
total_lottery_winnings = Column(Integer, default=0)
|
||||
|
||||
badges = relationship("Badge", viewonly=True)
|
||||
badges = relationship("Badge", order_by="Badge.created_utc", viewonly=True)
|
||||
subscriptions = relationship("Subscription", viewonly=True)
|
||||
following = relationship("Follow", primaryjoin="Follow.user_id==User.id", viewonly=True)
|
||||
followers = relationship("Follow", primaryjoin="Follow.target_id==User.id", viewonly=True)
|
||||
|
@ -692,4 +692,4 @@ class User(Base):
|
|||
@property
|
||||
@lazy
|
||||
def lottery_stats(self):
|
||||
return { "winnings": self.total_lottery_winnings, "ticketsHeld": { "current": self.currently_held_lottery_tickets , "total": self.total_held_lottery_tickets } }
|
||||
return { "winnings": self.total_lottery_winnings, "ticketsHeld": { "current": self.currently_held_lottery_tickets , "total": self.total_held_lottery_tickets } }
|
||||
|
|
Loading…
Reference in New Issue