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
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})
|