feat: update assessment portal
This commit is contained in:
@@ -36,3 +36,28 @@ class UploadRecord(db.Model):
|
||||
upload_time = db.Column(db.DateTime, default=datetime.utcnow)
|
||||
|
||||
user = db.relationship("User", backref=db.backref("uploads", lazy=True))
|
||||
|
||||
|
||||
class AppSetting(db.Model):
|
||||
__tablename__ = "app_settings"
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
key = db.Column(db.String(100), unique=True, nullable=False)
|
||||
value = db.Column(db.String(255), nullable=False)
|
||||
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
@classmethod
|
||||
def get_bool(cls, key: str, default: bool = False) -> bool:
|
||||
setting = cls.query.filter_by(key=key).first()
|
||||
if setting is None:
|
||||
return default
|
||||
return setting.value.strip().lower() in {"1", "true", "yes", "on"}
|
||||
|
||||
@classmethod
|
||||
def set_bool(cls, key: str, value: bool) -> "AppSetting":
|
||||
setting = cls.query.filter_by(key=key).first()
|
||||
if setting is None:
|
||||
setting = cls(key=key, value="")
|
||||
db.session.add(setting)
|
||||
setting.value = "true" if value else "false"
|
||||
return setting
|
||||
|
||||
Reference in New Issue
Block a user