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