Files
Notes/src/settings_api.py
2017-10-09 19:48:10 -04:00

39 lines
1.0 KiB
Python

from flask import Blueprint, jsonify, request
from flask_login import login_required
import sql
import audit_category
settings_api = Blueprint('settings_api', __name__)
ALLOWED_OPTIONS = ['encryption_session_timeout', 'history_snapshot_time_interval']
@settings_api.route('/api/settings', methods = ['GET'])
@login_required
def get_settings():
dict = {}
settings = sql.getResults("SELECT opt_name, opt_value FROM options WHERE opt_name IN (%s)" % ',' . join('?' * len(ALLOWED_OPTIONS)), ALLOWED_OPTIONS)
for set in settings:
dict[set['opt_name']] = set['opt_value']
return jsonify(dict)
@settings_api.route('/api/settings', methods = ['POST'])
@login_required
def set_settings():
req = request.get_json(force=True)
if req['name'] in ALLOWED_OPTIONS:
sql.add_audit(audit_category.SETTINGS, request, None, sql.get_option(req['name']), req['value'], req['name'])
sql.set_option(req['name'], req['value'])
sql.commit()
return jsonify({})
else:
return jsonify("not allowed option to set")