New changes regarding OpenCTI implementation
This commit is contained in:
45
server/backend/app/blueprints/octi.py
Normal file
45
server/backend/app/blueprints/octi.py
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from flask import Blueprint, jsonify, Response, request
|
||||
from app.decorators import require_header_token, require_get_token
|
||||
from app.classes.octi import OCTI
|
||||
|
||||
import json
|
||||
|
||||
octi_bp = Blueprint("octi", __name__)
|
||||
octi = OCTI()
|
||||
|
||||
|
||||
@octi_bp.route('/add', methods=['POST'])
|
||||
@require_header_token
|
||||
def add_instance():
|
||||
"""
|
||||
Parse and add a OpenCTI instance to the database.
|
||||
:return: status of the operation in JSON
|
||||
"""
|
||||
data = json.loads(request.data)
|
||||
res = octi.add_instance(data["data"]["instance"])
|
||||
return jsonify(res)
|
||||
|
||||
|
||||
@octi_bp.route('/delete/<octi_id>', methods=['GET'])
|
||||
@require_header_token
|
||||
def delete_instance(octi_id):
|
||||
"""
|
||||
Delete a OpenCTI instance by its id to the database.
|
||||
:return: status of the operation in JSON
|
||||
"""
|
||||
res = octi.delete_instance(octi_id)
|
||||
return jsonify(res)
|
||||
|
||||
|
||||
@octi_bp.route('/get_all', methods=['GET'])
|
||||
@require_header_token
|
||||
def get_all():
|
||||
"""
|
||||
Retreive a list of all OpenCTI instances.
|
||||
:return: list of OpenCTI instances in JSON.
|
||||
"""
|
||||
res = octi.get_instances()
|
||||
return jsonify({"results": [i for i in res]})
|
@ -7,6 +7,7 @@ from app.blueprints.ioc import ioc_bp
|
||||
from app.blueprints.whitelist import whitelist_bp
|
||||
from app.blueprints.config import config_bp
|
||||
from app.blueprints.misp import misp_bp
|
||||
from app.blueprints.octi import octi_bp
|
||||
import datetime
|
||||
import secrets
|
||||
import jwt
|
||||
@ -58,6 +59,7 @@ app.register_blueprint(ioc_bp, url_prefix='/api/ioc')
|
||||
app.register_blueprint(whitelist_bp, url_prefix='/api/whitelist')
|
||||
app.register_blueprint(config_bp, url_prefix='/api/config')
|
||||
app.register_blueprint(misp_bp, url_prefix='/api/misp')
|
||||
app.register_blueprint(octi_bp, url_prefix='/api/octi')
|
||||
|
||||
if __name__ == '__main__':
|
||||
ssl_cert = "{}/{}".format(path[0], 'cert.pem')
|
||||
|
Reference in New Issue
Block a user