mirror of
https://github.com/TriliumNext/Notes.git
synced 2026-01-21 20:50:05 -06:00
39 lines
1.0 KiB
Python
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") |