Untitled
unknown
plain_text
a year ago
2.0 kB
18
Indexable
from flask import Flask, request, jsonify, make_response
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from flask_restful import Api, Resource
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///cybersecurity.db"
db = SQLAlchemy(app)
ma = Marshmallow(app)
api = Api(app)
class SecurityAssessment(db.Model):
id = db.Column(db.Integer, primary_key=True)
vulnerability = db.Column(db.String(100), nullable=False)
severity = db.Column(db.String(10), nullable=False)
# ... additional fields ...
class Threat(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
description = db.Column(db.String(200), nullable=False)
# ... additional fields ...
class Incident(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
description = db.Column(db.String(200), nullable=False)
# ... additional fields ...
class SecurityAssessmentSchema(ma.SQLAlchemyAutoSchema):
class Meta:
model = SecurityAssessment
load_instance = True
class ThreatSchema(ma.SQLAlchemyAutoSchema):
class Meta:
model = Threat
load_instance = True
class IncidentSchema(ma.SQLAlchemyAutoSchema):
class Meta:
model = Incident
load_instance = True
@app.route("/security-assessments", methods=["GET"])
def get_security_assessments():
assessments = SecurityAssessment.query.all()
return jsonify(SecurityAssessmentSchema(many=True).dump(assessments))
@app.route("/threats", methods=["GET"])
def get_threats():
threats = Threat.query.all()
return jsonify(ThreatSchema(many=True).dump(threats))
@app.route("/incidents", methods=["GET"])
def get_incidents():
incidents = Incident.query.all()
return jsonify(IncidentSchema(many=True).dump(incidents))
# ... additional API endpoints ...
if __name__ == "__main__":
app.run(debug=True)Editor is loading...
Leave a Comment