audit_api / app.py
dofbi's picture
♻️ refactor (api): Flask to FastAPI
89c8ad5
from fastapi import FastAPI, HTTPException
from models import AuditResponses
from analyzer import SecurityAuditAnalyzer
from config import settings
app = FastAPI(title="Security Audit API", description="API pour analyser les réponses d'audits de sécurité")
# Initialisation de l'analyseur avec les paramètres de configuration
security_analyzer = SecurityAuditAnalyzer(
api_key=settings.OPENROUTER_API_KEY,
model=settings.MODEL,
api_url=settings.API_URL
)
@app.post("/api/analyze")
async def analyze_audit(responses: AuditResponses):
"""
Analyse les réponses d'un audit de sécurité.
Args:
responses: Dictionnaire de questions/réponses
Returns:
Résultats structurés de l'analyse
"""
analysis_result = security_analyzer.analyze_responses(responses.responses)
if analysis_result.get("status") == "error":
raise HTTPException(status_code=500, detail=analysis_result["error"])
return analysis_result
@app.get("/api/health")
async def health_check():
"""Vérifie l'état de l'API."""
return {"status": "ok", "message": "API d'analyse d'audit de sécurité opérationnelle"}