Add missing save() call, add TODOs, explicit default last_used to None

Doesn't seem like explicitly setting the default to None does much here;
automatic migration didn't trigger.
This commit is contained in:
2024-11-09 20:12:18 -06:00
parent 40e4e4f4b8
commit d996d30d81

View File

@@ -50,6 +50,9 @@ class User(BaseModel):
deleted_at = DateTimeField(null=True) deleted_at = DateTimeField(null=True)
deleted = flags.flag(1) deleted = flags.flag(1)
# TODO: delete method, ensure sessions are deleted as well
# TODO: undelete method
class Session(BaseModel): class Session(BaseModel):
""" """
@@ -66,7 +69,7 @@ class Session(BaseModel):
expiry = DateTimeField() expiry = DateTimeField()
created_at = DateTimeField(default=utc_now) created_at = DateTimeField(default=utc_now)
last_used = DateTimeField(null=True) last_used = DateTimeField(default=None, null=True)
class Meta: class Meta:
constraints = [ constraints = [
@@ -104,3 +107,6 @@ class Session(BaseModel):
if now is None: if now is None:
now = utc_now() now = utc_now()
self.last_used = now # type: ignore self.last_used = now # type: ignore
# TODO: This should be buffered, as it'll be called *constantly*, perhaps every single request.
# The ideal solution would be emitting updates to a Redis-based cache, and then flushing to the database every few seconds/minute.
self.save()