You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

221 lines
7.8 KiB

from . import api
from quart import Quart, render_template, redirect, url_for, request,jsonify
from mycode.AssetsManager import g_AssetsM
from web.common.utils import login_required
@api.route('/assets/getipassets',methods=['POST'])
@login_required
async def get_IP_assets(): #查询IP资产数据
data = await request.get_json()
IP = data.get("IP")
user = data.get("user")
safe_rank = data.get("safe_rank")
ip_assets = g_AssetsM.get_IP_assets(IP,user,safe_rank)
return jsonify({"ip_assets":ip_assets})
@api.route('/assets/getipinfo',methods=['POST'])
@login_required
async def get_IP_info(): #获取该IP资产的基本信息
data = await request.get_json()
IP = data.get("IP")
ip_info = g_AssetsM.get_IP_info(IP)
return jsonify({"ip_info":ip_info})
@api.route('/assets/getassetsuser',methods=['POST'])
@login_required
async def get_assets_user():
data = await request.get_json()
uname = data.get("keyword")
user_list = g_AssetsM.get_assets_users(uname)
return jsonify({"user_list": user_list})
@api.route('/assets/updateipinfo',methods=['POST'])
@login_required
async def update_IP_info(): #获取该IP资产的基本信息
data = await request.get_json()
IP = data.get("cur_ip")
owner_id = data.get("owner_id")
bsuccess,error = g_AssetsM.update_assets_users(IP,owner_id)
return jsonify({"bsuccess":bsuccess})
@api.route('/assets/getportlatest',methods=['POST'])
@login_required
async def get_port_latest(): #获取端口的最新数据
data = await request.get_json()
ip = data.get("ip")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
port_data = g_AssetsM.get_port_latest(ip)
return jsonify({"port_data":port_data})
@api.route('/assets/getporthistory',methods=['POST'])
@login_required
async def get_port_history(): #获取端口的历史数据
data = await request.get_json()
ip = data.get("ip")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
times,port_dict = g_AssetsM.get_port_history(ip)
return jsonify({"times":times,"entries":port_dict})
@api.route('/assets/geturllatest',methods=['POST'])
@login_required
async def get_url_latest():
data = await request.get_json()
ip = data.get("ip")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
ip_url_data = g_AssetsM.get_ip_url_latest(ip)
if not ip_url_data:
ip_url_data=[]
return jsonify({"ip_url_data": ip_url_data})
@api.route('/assets/geturlhistory',methods=['POST'])
@login_required
async def get_url_history():
data = await request.get_json()
ip = data.get("ip")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
ip_url_data = g_AssetsM.get_ip_url_history(ip)
if not ip_url_data:
ip_url_data=[]
return jsonify({"ip_url_data": ip_url_data})
@api.route('/assets/getvuldata',methods=['POST'])
@login_required
async def get_vul_data():
data = await request.get_json() #ip,nodeName,vulType,vulLevel
ip = data.get("ip")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
nodeName = data.get("nodeName")
vulType = data.get("vulType")
vulLevel = data.get("vulLevel")
vuls = g_AssetsM.get_vul_data(ip,nodeName,vulType,vulLevel)
return jsonify({"vuls": vuls})
@api.route('/assets/delipassets',methods=['POST'])
@login_required
async def del_ip_assets():
data = await request.get_json() # ip,nodeName,vulType,vulLevel
ip = data.get("IP")
if not ip:
return jsonify({'error': '缺少 ip 参数'}), 400
bsuccess,error = g_AssetsM.del_ip_assets(ip)
return jsonify({"bsuccess": bsuccess,"error":error})
@api.route('/assets/geturlassets', methods=['POST'])
@login_required
async def get_url_assets(): #url_filter,user_filter,email_filter
data = await request.get_json()
url = data.get("url_filter")
owner = data.get("user_filter")
email = data.get("email_filter")
url_assets = g_AssetsM.get_url_assets(url,owner,email)
return jsonify({"url_assets": url_assets})
@api.route('/assets/updateurlinfo', methods=['POST'])
@login_required
async def update_url_info():
data = await request.get_json()
url_id = data.get("cur_url_id")
owner_id = data.get("owner_id")
bsuccess, error = g_AssetsM.update_assets_users(url_id, owner_id,2)
return jsonify({"bsuccess": bsuccess,"error":error})
@api.route('/assets/geturltoIP', methods=['POST'])
@login_required
async def get_url_to_ip():
data = await request.get_json()
url_id = data.get("cur_url_id")
last_to_ips,his_to_ips = g_AssetsM.get_url_to_ip(url_id)
return jsonify({"last_to_ips":last_to_ips,"his_to_ips":his_to_ips})
@api.route('/assets/delurlassets', methods=['POST'])
@login_required
async def del_url_assets():
data = await request.get_json()
url_id = data.get("url")
bsuccess,error = g_AssetsM.del_url_assets(url_id)
return jsonify({"bsuccess": bsuccess, "error": error})
@api.route('/assets/getOwners', methods=['POST'])
@login_required
async def getOwners():
data = await request.get_json()
owner = data.get("owner")
owner_type = data.get("owner_type")
contact = data.get("contact")
tellnum = data.get("tellnum")
owner_list = g_AssetsM.get_owners(owner,owner_type,contact,tellnum)
return jsonify({"owner_list": owner_list})
@api.route('/assets/addUpdateOwners', methods=['POST'])
@login_required
async def add_update_Owner():
data = await request.get_json() #{data,currentMode}
owner_data = data.get("data")
do_mode = data.get("currentMode")
bsuccess,error,owner_list = g_AssetsM.add_update_owner(owner_data, do_mode)
return jsonify({"owner_list": owner_list,"bsuccess":bsuccess,"error":error})
@api.route('/assets/delOwners', methods=['POST'])
@login_required
async def del_Owner():
data = await request.get_json()
id = data.get("id")
bsuccess,error = g_AssetsM.del_owner(id)
return jsonify({"bsuccess": bsuccess, "error": error})
#-------------巡检目标相关------------
@api.route('/assets/addpollingtarget', methods=['POST'])
@login_required
async def add_polling_target():
data = await request.get_json()
pollind_targets = data.get("pollind_targets")
owner_name = data.get("selectedOwnerName")
owner_id = data.get("selectedOwnerId")
success_list,fail_list = g_AssetsM.add_polling_target(pollind_targets,owner_name,owner_id)
return jsonify({"success_list":success_list,"fail_list":fail_list})
@api.route('/assets/getpollingtarget', methods=['POST'])
@login_required
async def get_polling_target():
data = await request.get_json()
# PT,owner,PP,safe_rank
PT = data.get("PT")
owner = data.get("owner")
PP = data.get("PP")
safe_rank = data.get("safe_rank")
pTargets = g_AssetsM.get_polling_target(PT,owner,PP,safe_rank)
return jsonify({"pTargets": pTargets})
@api.route('/assets/updatePTOwner', methods=['POST'])
@login_required
async def update_pt_owner():
data = await request.get_json()
PT = data.get("PT")
owner_id = data.get("owner_id")
bsuccess,error = g_AssetsM.update_pt_owner(PT,owner_id)
return jsonify({"bsuccess": bsuccess,"error":error})
@api.route('/assets/updatePTPeriod', methods=['POST'])
@login_required
async def update_pt_period():
data = await request.get_json()
PT = data.get("PT")
polling_type = int(data.get("polling_type"))
polling_period = int(data.get("polling_period"))
selectedTime = data.get("localTimeStr")
bsuccess,error = g_AssetsM.update_pt_period(PT,polling_type,polling_period,selectedTime)
return jsonify({"bsuccess": bsuccess, "error": error})
@api.route('/assets/delPT', methods=['POST'])
@login_required
async def del_pt():
data = await request.get_json()
PT = data.get("PT")
bsuccess,error = g_AssetsM.del_pt(PT)
return jsonify({"bsuccess": bsuccess, "error": error})