st-ten-1/src/lib/db/models/archive.py

38 lines
1.2 KiB
Python
Raw Normal View History

2022-06-01 16:37:19 +00:00
from datetime import datetime
2022-10-25 13:38:18 +00:00
from peewee import (AutoField, BooleanField, DateTimeField, ForeignKeyField,
TextField)
2022-06-01 16:37:19 +00:00
from playhouse.sqlite_ext import JSONField
from .base_model import BaseModel, db
from .users import Users
class Archive(BaseModel):
id = AutoField(primary_key=True, unique=True, null=False)
2023-05-20 13:28:57 +00:00
time = DateTimeField(unique=True, null=False, default=datetime.now())
2022-06-01 16:37:19 +00:00
user = ForeignKeyField(Users, Users.username, null=False)
result = BooleanField(null=False)
overridden = BooleanField(null=False)
test_data = JSONField(null=False)
2022-09-14 14:53:55 +00:00
label = TextField(null=True)
2022-06-01 16:37:19 +00:00
archived = BooleanField(null=False, default=False)
uploaded = BooleanField(null=False, default=False)
@classmethod
@db.atomic()
2022-10-25 13:38:18 +00:00
def archive(cls, test_data, result, overridden):
2023-05-20 13:28:57 +00:00
time=datetime.now()
test_data["time"]=time.strftime("%Y/%m/%dT %H:%M:%S")
test_data["user"]=Users.get_session().username
2022-06-01 16:37:19 +00:00
return cls.create(
2023-05-20 13:28:57 +00:00
time=time,
2022-06-01 16:37:19 +00:00
user=Users.get_session().user,
result=result,
overridden=overridden,
2022-10-25 13:38:18 +00:00
test_data=test_data,
2022-06-01 16:37:19 +00:00
)
class Meta:
table_name = "archive"