Changelog: https://roxy-wi.org/changelog#7.0.1
This commit is contained in:
Aidaho
2023-10-16 13:12:36 +03:00
parent 9a4d29076e
commit 9ce85fdff0
45 changed files with 967 additions and 1017 deletions

32
app/middleware.py Normal file
View File

@@ -0,0 +1,32 @@
from functools import wraps
from flask import redirect, url_for, abort, g
import modules.roxywi.auth as roxywi_auth
import modules.roxywi.common as roxywi_common
def check_services(fn):
@wraps(fn)
def decorated_view(*args, **kwargs):
service = kwargs['service']
if service not in ('haproxy', 'nginx', 'apache', 'keepalived'):
abort(405, 'Wrong service')
if not roxywi_auth.is_access_permit_to_service(service):
abort(403, f'You do not have needed permissions to access to {service.title()} service')
return fn(*args, **kwargs)
return decorated_view
def get_user_params(virt=0, disable=0):
def inner_decorator(fn):
@wraps(fn)
def decorated_views(*args, **kwargs):
try:
user_params = roxywi_common.get_users_params(virt=virt, disable=disable, service=kwargs.get('service'))
g.user_params = user_params
except Exception as e:
return redirect(url_for('login_page'))
return fn(*args, **kwargs)
return decorated_views
return inner_decorator