31 lines
840 B
Python
31 lines
840 B
Python
from app.extensions import db
|
|
|
|
|
|
class AppSettings(db.Model):
|
|
__tablename__ = 'app_settings'
|
|
|
|
key = db.Column(db.String(100), primary_key=True)
|
|
value = db.Column(db.Text, nullable=False)
|
|
|
|
@staticmethod
|
|
def get(key, default=''):
|
|
setting = db.session.get(AppSettings, key)
|
|
return setting.value if setting else default
|
|
|
|
@staticmethod
|
|
def set(key, value):
|
|
setting = db.session.get(AppSettings, key)
|
|
if setting:
|
|
setting.value = str(value)
|
|
else:
|
|
setting = AppSettings(key=key, value=str(value))
|
|
db.session.add(setting)
|
|
db.session.commit()
|
|
|
|
@staticmethod
|
|
def get_bool(key, default=False):
|
|
val = AppSettings.get(key, '')
|
|
if val == '':
|
|
return default
|
|
return val.lower() in ('true', '1', 'yes')
|