passed the test
This commit is contained in:
parent
75edfe8b31
commit
fdafa207ed
3 changed files with 70 additions and 7 deletions
|
@ -2,6 +2,7 @@ import time
|
|||
|
||||
from sqlalchemy import *
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.sql.functions import now
|
||||
|
||||
from files.classes.base import Base
|
||||
from files.helpers.lazy import lazy
|
||||
|
@ -13,17 +14,24 @@ class ViewerRelationship(Base):
|
|||
|
||||
user_id = Column(Integer, ForeignKey('users.id'), primary_key=True)
|
||||
viewer_id = Column(Integer, ForeignKey('users.id'), primary_key=True)
|
||||
last_view_utc = Column(Integer, nullable=False)
|
||||
last_view_datetimez = Column(DateTime(timezone=True), nullable=False, server_default=now())
|
||||
|
||||
Index('fki_view_viewer_fkey', viewer_id)
|
||||
|
||||
viewer = relationship("User", primaryjoin="ViewerRelationship.viewer_id == User.id", viewonly=True)
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
if 'last_view_utc' not in kwargs:
|
||||
kwargs['last_view_utc'] = int(time.time())
|
||||
# def __init__(self, **kwargs):
|
||||
# if 'last_view_utc' not in kwargs:
|
||||
# kwargs['last_view_utc'] = int(time.time())
|
||||
|
||||
super().__init__(**kwargs)
|
||||
# super().__init__(**kwargs)
|
||||
|
||||
@property
|
||||
def last_view_utc(self):
|
||||
"""
|
||||
the last view timestamp in UTC seconds. Milliseconds are truncated/rounded down.
|
||||
"""
|
||||
return int(self.last_view_datetimez.timestamp())
|
||||
|
||||
@property
|
||||
@lazy
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue