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.

171 lines
5.9 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})