Untitled
unknown
plain_text
a year ago
2.0 kB
3
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