def get_risks(): r = get_request_payload(request) if LastName in r.keys(): searchType = LastName elif FirstName in r.keys(): searchType = FirstName elif DateOfBirth in r.keys(): searchType = DateOfBirth elif PlaceOfBirth in r.keys(): searchType = PlaceOfBirth else: searchType = r[r.keys(0)] risks = SDB.get_risks(r[searchType]) if risks: replyContent = SDB.model_message(risks) else: replyContent = "Sorry, I couldn't find anyone with the %s %s" % (searchType, r[searchType]) return jsonify({ "status": 200, "message": "Situations Base URL", "replies": [ { "type": "text", "content": replyContent }], "conversation": { "language": "en", "memory": { "user": "******" } } })
def get_neighbors_index(): ''' Base route for merging nodes :return: ''' r = get_request_payload(request) r = osintserver.get_neighbors_index(**r) return jsonify({"status": 200, "message": r["message"], "data": r["data"]})
def get_suggestion_items(): ''' Base route for merging nodes :return: ''' r = get_request_payload(request) return jsonify({ "status": 200, "message": "Search conducted", "data": osintserver.get_suggestion_items(**r) })
def merge_nodes(): ''' Base route for merging nodes :return: ''' r = get_request_payload(request) return jsonify({ "status": 200, "message": "Nodes merged", "data": odbserver.merge_nodes(request) })
def get_shortest_path(): ''' Base route for merging nodes :return: ''' r = get_request_payload(request) return jsonify({ "status": 200, "message": "Shortest path conducted", "data": osintserver.get_shortest_path(**r) })
def load_graph(): r = get_request_payload(request) if r and 'graphKey' in r.keys(): graph = osintserver.load_graph(r["graphKey"]) return jsonify({"status": 200, "message": graph}) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def search(): r = get_request_payload(request) if r and 'search' in r.keys(): search = osintserver.search(**r) return jsonify({"status": 200, "message": search}) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def get_messages(): r = get_request_payload(request) if r and 'userName' in r.keys(): data = odbserver.get_messages(userName=r['userName']) return jsonify({ "status": 200, "message": data['message'], "data": data }) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def get_user_monitor(): r = get_request_payload(request) if r and 'userName' in r.keys(): d = osintserver.get_user_monitor(**r) return jsonify({ "status": 200, "message": d["message"], "data": d["data"] }) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def read_message(): r = get_request_payload(request) if r and 'userKey' in r.keys() and 'msgKey' in r.keys(): data = odbserver.read_message(userKey=r['userKey'], msgKey=r['msgKey']) return jsonify({ "status": 200, "message": data['message'], "data": data['data'] }) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def create_monitor(): r = get_request_payload(request) if r and 'userName' in r.keys(): message = osintserver.create_monitor(**r) return jsonify({ "status": 200, "message": message['message'], "data": message['monitor'] }) else: return jsonify({ "status": 200, "message": "Failed to process request", "data": None })
def graph_etl_model(): r = get_request_payload(request) file = check_for_file(request, osintserver) if not file["data"]: if "file" in request.form.to_dict().keys(): graph = osintserver.graph_etl_model( json.loads(request.form.to_dict()['model']), osintserver.file_to_frame( request.form.to_dict()["file"])["data"]) elif "file" in r.keys() and "model" in r.keys(): graph = osintserver.graph_etl_model(r["model"], r["file"]) else: return jsonify(file) else: graph = osintserver.graph_etl_model( json.loads(request.form.to_dict()['model']), file["data"]) return jsonify({"status": 200, "data": graph, "filename": file["data"]})
def graph_etl_model(): """ If only a file is received and a mapping is not required the request is focused on the file If there is only a filename, the service expects that filename to be in the directory and that a model will be used on that file for changing into a graph :return: """ r = get_request_payload(request) file = check_for_file(request, odbserver) if not file["data"]: if "file" in request.form.to_dict().keys(): graph = odbserver.graph_etl_model( json.loads(request.form.to_dict()['model']), odbserver.file_to_frame( request.form.to_dict()["file"])["data"]) elif "file" in r.keys() and "model" in r.keys(): graph = odbserver.graph_etl_model(r["model"], r["file"]) else: return jsonify(file) else: graph = odbserver.graph_etl_model( json.loads(request.form.to_dict()['model']), file["data"]) return jsonify({"status": 200, "data": graph, "filename": file["data"]})
def save(): payload = get_request_payload(request) if payload: case, message = osintserver.save_osint(**payload) return jsonify({"status": 200, "message": message, "data": case})
def geo_spatial_view(): results, message = osintserver.geo_spatial_view( **(get_request_payload(request))) return jsonify({"status": 200, "message": message, "data": results})
def get_associates(): results = osintserver.get_associates(**(get_request_payload(request))) return jsonify({"status": 200, "message": results})
def shodan(): results, message = shodanserver.search(**(get_request_payload(request))) return jsonify({"status": 200, "message": message, "data": results})
def get_location_lookup(): r = get_request_payload(request) message = osintserver.get_location_lookup(**r) return jsonify({"status": 200, "data": message})
def create_edge(): r = get_request_payload(request) message = osintserver.create_edge_new(**r) return jsonify({"status": 200, "data": message})
def get_covid(): r = get_request_payload(request) message = osintserver.get_covid(**r) return jsonify({"status": 200, "data": message})
def twitter(): message = osintserver.get_twitter(**(get_request_payload(request))) return jsonify({"status": 200, "message": message})