ng-implementation/devops/app.py
2025-10-04 11:25:29 +02:00

46 lines
1.1 KiB
Python

from datetime import datetime, timezone
from typing import Dict, List
from uuid import uuid4
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI(title="Feedback API", version="1.0.0")
class FeedbackRequest(BaseModel):
feedback: str
class FeedbackEntry(BaseModel):
id: str
feedback: str
timestamp: str
# Stockage en mémoire: conversationID -> liste des feedbacks
in_memory_store: Dict[str, List[FeedbackEntry]] = {}
@app.post("/api/v1/{conversationID}/feedback")
def submit_feedback(conversationID: str, payload: FeedbackRequest):
feedback_id = f"fb-{uuid4()}"
ts = datetime.now(timezone.utc).isoformat()
entry = FeedbackEntry(id=feedback_id, feedback=payload.feedback, timestamp=ts)
conversation_feedbacks = in_memory_store.setdefault(conversationID, [])
conversation_feedbacks.append(entry)
return {
"message": "Feedback submitted successfully",
"feedbackId": feedback_id,
"totalFeedbacks": len(conversation_feedbacks),
"timestamp": ts,
}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)