from sqlalchemy.orm import Session
from app.api.competitor_analysis.schemas import CompetitorAnalysisCreat, CompetitorAnalysisResponce
from app.dependency.authantication import JWTPayloadSchema
from app.models.main.competitor_analysis import CompetitorAnalysisBase, TblCompetitorAnalysis
from app.utils.schemas_utils import CustomResponse

class CompetitorAnalysisService:
    def __init__(self, db: Session, token: JWTPayloadSchema):
        self.db = db
        self.token = token

    async def create_competitor_analysis(self, request: CompetitorAnalysisCreat):
        created_user = CompetitorAnalysisBase.model_validate(request.model_dump())
        TblCompetitorAnalysis.create(created_user, self.db)
        self.db.commit()
        return CustomResponse(status="1", message= "Competitor Analysis Creat Successfully")

    async def get_competitor_analysis(self, group_id: int):
        civil_record = self.db.query(TblCompetitorAnalysis).filter(TblCompetitorAnalysis.group_id == group_id).first()
        if not civil_record:
            return CustomResponse(status="-1", message="No Civil Data Found")
        return CustomResponse(status="1",message="Civil data fetched successfully",data=CompetitorAnalysisResponce.model_validate(civil_record))
        
