from fastapi import FastAPI, File, UploadFile, HTTPException from firebase_admin import credentials, storage import firebase_admin from uuid import uuid4 from fastapi import APIRouter from config.firebase_cfg import init_firebase init_firebase() upload_router = APIRouter() @upload_router.post("/upload_pdf") async def upload_pdf(file: UploadFile = File(...)): if file.content_type != "application/pdf": raise HTTPException(status_code=400, detail="must be PDF file") file_name = f"{uuid4()}.pdf" bucket = storage.bucket() blob = bucket.blob(file_name) blob.upload_from_file(file.file, content_type="application/pdf") blob.make_public() file_url = blob.public_url return {"file_url": file_url} @upload_router.post("/upload_docs") async def upload_docs(file: UploadFile = File(...)): if file.content_type != "application/docs": raise HTTPException(status_code=400, detail="must be DOCS file") file_name = f"{uuid4()}.docs" bucket = storage.bucket() blob = bucket.blob(file_name) blob.upload_from_file(file.file, content_type="application/docs") blob.make_public() file_url = blob.public_url return {"file_url": file_url} @upload_router.post("/delete_file") async def delete_file(file_name: str): try: bucket = storage.bucket() blob = bucket.blob(file_name) if not blob.exists(): raise HTTPException(status_code=404, detail="File not found") blob.delete() return {"message": f"File {file_name} deleted successfully"} except Exception as e: raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}") # url = "http://127.0.0.1:8000/delete_file" # data = {"file_name": "example.pdf"} # response = requests.post(url, json=data)