Spaces:
Build error
Build error
from fastapi import APIRouter, UploadFile, File | |
from typing import Annotated | |
from app.modules.crud_jds.models.crud_jds import get_all_jds, create_jd, delete_jd | |
crud_jds_router = APIRouter(prefix="/crud_jds_router", tags=["crud_jds_router"]) | |
# [GET] all JDs | |
async def index(): | |
# Get all documents from the collection with id document | |
data = get_all_jds() | |
return data | |
# [POST] add JD | |
# only upload pdf or json file | |
async def add_jd(position_applied_for: str, file_jd: Annotated[UploadFile, File(..., description="Upload jd file (upload .txt)")]): | |
try: | |
file_jd_type = file_jd.filename.split(".")[-1] | |
if file_jd_type in ["txt"]: | |
# create a new document | |
if create_jd({"position_applied_for": position_applied_for,"jd_url": file_jd}): | |
return {"message": "JD added successfully"} | |
else: | |
return {"message": "Error while adding JD file to database"} | |
else: | |
return {"message": "File type not supported"} | |
except Exception as e: | |
return {"message": "Error", "error": str(e)} | |
# [DELETE] JD by id | |
async def delete_jd_by_id(id: str): | |
# Delete a document by id | |
if delete_jd(id): | |
return {"message": f"JD have id {id} deleted successfully"} | |
else: | |
return {"message": "Error"} |