import uuid
from datetime import datetime

from models.incident_model import IncidentAnalysisModel, IncidentStatusEnum
from models.chats import ChatSession
from extensions import db

class IncidentDatabaseService:
    def create_analysis(self, incident_id, reply, context, user_msg, query, chunks_count):
        analysis = IncidentAnalysisModel(
            id=str(uuid.uuid4()),
            incident_id=incident_id,
            status=IncidentStatusEnum.COMPLETED,
            analysis_json=reply,
            llm_context={
                "incident_context": context,
                "user_message": user_msg,
                "retrieval_query": query,
                "retrieved_chunks_count": chunks_count
            },
            created_at=datetime.utcnow()
        )

        db.session.add(analysis)
        return analysis

    def create_chat_session(self, user_id, analysis_id, title:str):
        session = ChatSession(user_id=user_id, title=title)
        session.analysis_id = analysis_id
        db.session.add(session)
        return session
    
    