41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from ..models import *
|
|
class ConfigManager:
|
|
@staticmethod
|
|
def get_value(key):
|
|
"""通过键获取配置值"""
|
|
config = Config.query.filter_by(key=key).first()
|
|
return config.value if config else None
|
|
|
|
@staticmethod
|
|
def add_config(name, key, value, description=None):
|
|
"""添加新的配置项"""
|
|
if Config.query.filter_by(key=key).first():
|
|
raise ValueError("配置键已存在!")
|
|
new_config = Config(name=name, key=key, value=value, description=description)
|
|
db.session.add(new_config)
|
|
db.session.commit()
|
|
|
|
@staticmethod
|
|
def update_config(key, value):
|
|
"""更新配置项的值"""
|
|
config = Config.query.filter_by(key=key).first()
|
|
if not config:
|
|
raise ValueError("配置项不存在!")
|
|
|
|
config.value = value
|
|
db.session.commit()
|
|
|
|
@staticmethod
|
|
def delete_config(key):
|
|
"""删除配置项"""
|
|
config = Config.query.filter_by(key=key).first()
|
|
if not config:
|
|
raise ValueError("配置项不存在!")
|
|
|
|
db.session.delete(config)
|
|
db.session.commit()
|
|
|
|
@staticmethod
|
|
def get_file_path(key):
|
|
|
|
return "" |