mirror of https://github.com/Aidaho12/haproxy-wi
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
from app.modules.db.db_model import ConfigVersion
|
|
from app.modules.db.sql import get_setting
|
|
from app.modules.db.server import select_server_id_by_ip
|
|
from app.modules.db.common import out_error
|
|
import app.modules.roxy_wi_tools as roxy_wi_tools
|
|
|
|
|
|
def insert_config_version(server_id: int, user_id: int, service: str, local_path: str, remote_path: str, diff: str):
|
|
get_date = roxy_wi_tools.GetDate(get_setting('time_zone'))
|
|
cur_date = get_date.return_date('regular')
|
|
try:
|
|
ConfigVersion.insert(
|
|
server_id=server_id,
|
|
user_id=user_id,
|
|
service=service,
|
|
local_path=local_path,
|
|
remote_path=remote_path,
|
|
diff=diff,
|
|
date=cur_date
|
|
).execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
|
|
|
|
def select_config_version(server_ip: str, service: str) -> str:
|
|
server_id = select_server_id_by_ip(server_ip)
|
|
query = ConfigVersion.select().where(
|
|
(ConfigVersion.server_id == server_id)
|
|
& (ConfigVersion.service == service)
|
|
)
|
|
try:
|
|
query_res = query.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|
|
|
|
|
|
def delete_config_version(service: str, local_path: str):
|
|
query_res = ConfigVersion.delete().where(
|
|
(ConfigVersion.service == service)
|
|
& (ConfigVersion.local_path == local_path)
|
|
)
|
|
try:
|
|
query_res.execute()
|
|
except Exception as e:
|
|
out_error(e)
|
|
return False
|
|
else:
|
|
return True
|
|
|
|
|
|
def select_remote_path_from_version(server_ip: str, service: str, local_path: str):
|
|
server_id = select_server_id_by_ip(server_ip)
|
|
try:
|
|
query_res = ConfigVersion.get(
|
|
(ConfigVersion.server_id == server_id)
|
|
& (ConfigVersion.service == service)
|
|
& (ConfigVersion.local_path == local_path)
|
|
).remote_path
|
|
except Exception as e:
|
|
out_error(e)
|
|
else:
|
|
return query_res
|