from fastapi import APIRouter, HTTPException
from app.schemas.company_info_schema import CompanyInfoSaveRequest, CompanyInfoSaveResponse, CompanyInfoResponse
from app.models import company_info_module

router = APIRouter(
    prefix="/goal-skill-t/api/companyinfo",
    tags=["CompanyInfo"],
)


@router.get("/{session_id}", response_model=CompanyInfoResponse)
async def fetch_company_info(session_id: str):
    try:
        row = company_info_module.get_company_info(session_id)
        return CompanyInfoResponse(status="success", data=row)
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))


@router.post("/save", response_model=CompanyInfoSaveResponse)
async def save_company_info(body: CompanyInfoSaveRequest):
    try:
        company_info_module.save_company_info(
            session_id=body.session_id,
            eligibility=body.eligibility,
            skills_and_experience=body.skills_and_experience,
            welcome_personality=body.welcome_personality,
            key_information=body.key_information,
        )
        return CompanyInfoSaveResponse(status="success", message="保存しました。")
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
