mirror of
https://github.com/MikroWizard/mikroman.git
synced 2025-06-21 12:28:59 +02:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
|
#!/usr/bin/python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# api_sysconfig.py: API for MikroWizard system config
|
||
|
# MikroWizard.com , Mikrotik router management solution
|
||
|
# Author: sepehr.ha@gmail.com
|
||
|
|
||
|
from flask import request
|
||
|
|
||
|
from libs.db import db_sysconfig,db_syslog
|
||
|
from libs import util
|
||
|
from libs.webutil import app, login_required,buildResponse,get_myself,get_ip,get_agent
|
||
|
import time
|
||
|
import logging
|
||
|
import json
|
||
|
|
||
|
log = logging.getLogger("api.sysconfig")
|
||
|
|
||
|
@app.route('/api/sysconfig/get_all', methods = ['POST'])
|
||
|
@login_required(role='admin',perm={'settings':'read'})
|
||
|
def sysconfig_get_all():
|
||
|
"""get all system configs"""
|
||
|
|
||
|
input = request.json
|
||
|
sysconfig=db_sysconfig.get_all()
|
||
|
res={}
|
||
|
for s in sysconfig:
|
||
|
res[s.key]={"value":s.value,"modified":s.modified}
|
||
|
return buildResponse({"sysconfigs":res})
|
||
|
|
||
|
|
||
|
@app.route('/api/sysconfig/save_all', methods = ['POST'])
|
||
|
@login_required(role='admin',perm={'settings':'write'})
|
||
|
def sysconfig_save_all():
|
||
|
"""save system configs"""
|
||
|
|
||
|
input = request.json
|
||
|
data=[]
|
||
|
now=time.time()
|
||
|
for k,v in input.items():
|
||
|
if k=="default_password" and v['value']=="":
|
||
|
continue
|
||
|
elif k=="default_user" and v['value']=="":
|
||
|
continue
|
||
|
elif k=="default_password" or k=="default_user":
|
||
|
v['value']=util.crypt_data(v['value'])
|
||
|
data.append({"key":k,"value":v['value'],"modified":"NOW"})
|
||
|
db_syslog.add_syslog_event(get_myself(), "Sys Config","Update", get_ip(),get_agent(),json.dumps(input))
|
||
|
db_sysconfig.save_all(data)
|
||
|
|
||
|
return buildResponse({"status":"success"})
|