예제 #1
0
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": "******"
            }
          }
    })
예제 #2
0
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"]})
예제 #3
0
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)
    })
예제 #4
0
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)
    })
예제 #5
0
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)
    })
예제 #6
0
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
        })
예제 #7
0
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
        })
예제 #8
0
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
        })
예제 #9
0
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
        })
예제 #10
0
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
        })
예제 #11
0
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
        })
예제 #12
0
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"]})
예제 #13
0
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"]})
예제 #14
0
def save():
    payload = get_request_payload(request)
    if payload:
        case, message = osintserver.save_osint(**payload)
        return jsonify({"status": 200, "message": message, "data": case})
예제 #15
0
def geo_spatial_view():

    results, message = osintserver.geo_spatial_view(
        **(get_request_payload(request)))
    return jsonify({"status": 200, "message": message, "data": results})
예제 #16
0
def get_associates():

    results = osintserver.get_associates(**(get_request_payload(request)))
    return jsonify({"status": 200, "message": results})
예제 #17
0
def shodan():

    results, message = shodanserver.search(**(get_request_payload(request)))
    return jsonify({"status": 200, "message": message, "data": results})
예제 #18
0
def get_location_lookup():
    r = get_request_payload(request)
    message = osintserver.get_location_lookup(**r)
    return jsonify({"status": 200, "data": message})
예제 #19
0
def create_edge():
    r = get_request_payload(request)
    message = osintserver.create_edge_new(**r)
    return jsonify({"status": 200, "data": message})
예제 #20
0
def get_covid():
    r = get_request_payload(request)
    message = osintserver.get_covid(**r)
    return jsonify({"status": 200, "data": message})
예제 #21
0
def twitter():

    message = osintserver.get_twitter(**(get_request_payload(request)))
    return jsonify({"status": 200, "message": message})