ensure datetime fields are stored in database as utc

This commit is contained in:
liamcottle
2024-05-05 21:49:27 +12:00
parent 9d1f5941d7
commit b4200f8cd9
2 changed files with 10 additions and 10 deletions

View File

@@ -1,4 +1,4 @@
from datetime import datetime
from datetime import datetime, timezone
from peewee import *
@@ -15,8 +15,8 @@ class Config(BaseModel):
id = BigAutoField()
key = CharField(unique=True)
value = TextField()
created_at = DateTimeField(default=datetime.now)
updated_at = DateTimeField(default=datetime.now)
created_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
updated_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
# define table name
class Meta:
@@ -32,8 +32,8 @@ class Announce(BaseModel):
identity_public_key = CharField() # base64 encoded public key, incase we want to recreate the identity manually
app_data = TextField(null=True) # base64 encoded app data bytes
created_at = DateTimeField(default=datetime.now)
updated_at = DateTimeField(default=datetime.now)
created_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
updated_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
# define table name
class Meta:
@@ -53,8 +53,8 @@ class LxmfMessage(BaseModel):
content = TextField()
fields = TextField() # json string
timestamp = FloatField() # timestamp of when the message was originally created (before ever being sent)
created_at = DateTimeField(default=datetime.now)
updated_at = DateTimeField(default=datetime.now)
created_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
updated_at = DateTimeField(default=lambda: datetime.now(timezone.utc))
# define table name
class Meta:

6
web.py
View File

@@ -594,7 +594,7 @@ class ReticulumWebChat:
"content": lxmf_message_dict["content"],
"fields": json.dumps(lxmf_message_dict["fields"]),
"timestamp": lxmf_message_dict["timestamp"],
"updated_at": datetime.now(),
"updated_at": datetime.now(timezone.utc),
}
# upsert to database
@@ -617,7 +617,7 @@ class ReticulumWebChat:
"identity_hash": identity.hash.hex(),
"identity_public_key": base64.b64encode(identity.get_public_key()).decode("utf-8"),
"app_data": parsed_app_data,
"updated_at": datetime.now(),
"updated_at": datetime.now(timezone.utc),
}
# upsert to database
@@ -768,7 +768,7 @@ class Config:
data = {
"key": key,
"value": value,
"updated_at": datetime.now(),
"updated_at": datetime.now(timezone.utc),
}
# upsert to database