"""Parse router"""
import os
import shutil
from fastapi import APIRouter, UploadFile, File, Form, HTTPException
from core.parser import parse_resume

router = APIRouter()

UPLOAD_DIR = "/tmp/careerforge_uploads"
os.makedirs(UPLOAD_DIR, exist_ok=True)

@router.post("/parse")
async def parse(file: UploadFile = File(...), file_type: str = Form(...)):
    file_path = os.path.join(UPLOAD_DIR, file.filename)
    with open(file_path, "wb") as f:
        shutil.copyfileobj(file.file, f)
    try:
        result = parse_resume(file_path, file_type)
        return result
    except Exception as e:
        raise HTTPException(status_code=400, detail=str(e))
    finally:
        os.remove(file_path)
