mirror of https://github.com/Aidaho12/haproxy-wi
69 lines
3.2 KiB
Python
69 lines
3.2 KiB
Python
from flask import render_template, redirect, url_for
|
|
|
|
import modules.db.sql as sql
|
|
import modules.tools.common as tools_common
|
|
import modules.roxywi.common as roxywi_common
|
|
|
|
|
|
def load_checker() -> str:
|
|
try:
|
|
user_subscription = roxywi_common.return_user_status()
|
|
except Exception as e:
|
|
user_subscription = roxywi_common.return_unsubscribed_user_status()
|
|
roxywi_common.logging('Roxy-WI server', f'Cannot get a user plan: {e}', roxywi=1)
|
|
|
|
try:
|
|
user_params = roxywi_common.get_users_params()
|
|
except Exception:
|
|
return redirect(url_for('login_page'))
|
|
|
|
kwargs = {
|
|
'user_subscription': user_subscription,
|
|
'user_params': user_params,
|
|
'lang': user_params['lang']
|
|
}
|
|
|
|
if user_subscription['user_status']:
|
|
user_group = roxywi_common.get_user_group(id=1)
|
|
kwargs.setdefault('services', tools_common.get_services_status())
|
|
kwargs.setdefault('telegrams', sql.get_user_telegram_by_group(user_group))
|
|
kwargs.setdefault('pds', sql.get_user_pd_by_group(user_group))
|
|
kwargs.setdefault('groups', sql.select_groups())
|
|
kwargs.setdefault('slacks', sql.get_user_slack_by_group(user_group))
|
|
kwargs.setdefault('haproxy_servers', roxywi_common.get_dick_permit(haproxy=1, only_group=1))
|
|
kwargs.setdefault('nginx_servers', roxywi_common.get_dick_permit(nginx=1, only_group=1))
|
|
kwargs.setdefault('apache_servers', roxywi_common.get_dick_permit(apache=1, only_group=1))
|
|
kwargs.setdefault('keepalived_servers', roxywi_common.get_dick_permit(keepalived=1, only_group=1))
|
|
kwargs.setdefault('user_subscription', user_subscription)
|
|
kwargs.setdefault('user_params', user_params)
|
|
kwargs.setdefault('lang', user_params['lang'])
|
|
kwargs.setdefault('haproxy_settings', sql.select_checker_settings(1))
|
|
kwargs.setdefault('nginx_settings', sql.select_checker_settings(2))
|
|
kwargs.setdefault('keepalived_settings', sql.select_checker_settings(3))
|
|
kwargs.setdefault('apache_settings', sql.select_checker_settings(4))
|
|
|
|
return render_template('ajax/load_checker.html', **kwargs)
|
|
|
|
|
|
def update_haproxy_settings(setting_id, email, service_alert, backend_alert, maxconn_alert, telegram_id, slack_id, pd_id) -> str:
|
|
if sql.update_haproxy_checker_settings(email, telegram_id, slack_id, pd_id, service_alert, backend_alert,
|
|
maxconn_alert, setting_id):
|
|
return 'ok'
|
|
else:
|
|
return 'error: Cannot update Checker settings'
|
|
|
|
|
|
def update_keepalived_settings(setting_id, email, service_alert, backend_alert, telegram_id, slack_id, pd_id) -> str:
|
|
if sql.update_keepalived_checker_settings(email, telegram_id, slack_id, pd_id, service_alert, backend_alert,
|
|
setting_id):
|
|
return 'ok'
|
|
else:
|
|
return 'error: Cannot update Checker settings'
|
|
|
|
|
|
def update_service_settings(setting_id, email, service_alert, telegram_id, slack_id, pd_id) -> str:
|
|
if sql.update_service_checker_settings(email, telegram_id, slack_id, pd_id, service_alert, setting_id):
|
|
return 'ok'
|
|
else:
|
|
return 'error: Cannot update Checker settings'
|