include subfolder when retrieving files

This commit is contained in:
2024-08-07 15:38:48 +02:00
parent 7e128965ad
commit 311d846190

View File

@@ -33,9 +33,9 @@ class medCertUploud(BaseModel):
endDate: str endDate: str
returnDate: str returnDate: str
@router.get("/minio/pull/file/{app_id}/{file_name}/{env}", tags=["Minio"]) @router.get("/minio/pull/file/{app_id}/{folder}/{file_name}/{env}", tags=["Minio"])
async def pull_File_from_user(app_id: str, file_name: str, env: str, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session()) async def pull_File_from_user(app_id: str, folder: str, file_name: str, env: str, session: SessionContainer = Depends(verify_session())): #, session: SessionContainer = Depends(verify_session())
path = app_id + "/" + file_name path = app_id + "/" + folder + "/" + file_name
try: try:
# uploudFile(app_id, file.filename, extension[1], content) # uploudFile(app_id, file.filename, extension[1], content)
client = Minio_Storage.minioConnection.minioConnect(env) client = Minio_Storage.minioConnection.minioConnect(env)
@@ -54,11 +54,11 @@ async def pull_File_from_user(app_id: str, file_name: str, env: str, session: Se
} }
@router.post("/minio/upload/file/", tags=["Minio"]) @router.post("/minio/upload/file/", tags=["Minio"])
async def upload_File_to_user(file: UploadFile = File(...), app_id: str= Form(...), session: SessionContainer = Depends(verify_session())): async def upload_File_to_user(file: UploadFile = File(...), app_id: str= Form(...), folder: str= Form(...), session: SessionContainer = Depends(verify_session())):
extension = file.filename.split(".") extension = file.filename.split(".")
content = file.file content = file.file
try: try:
uploudFile(app_id, file.filename, extension[1], content) uploudFile(app_id, folder, file.filename, extension[1], content)
except Exception as error: except Exception as error:
raise HTTPException(status_code=404, detail="Failed to Uploud Record") raise HTTPException(status_code=404, detail="Failed to Uploud Record")
return {"message": "Successfully Delete File"} return {"message": "Successfully Delete File"}
@@ -102,14 +102,14 @@ async def upload_File_to_user(requestItem: medCertUploud, session: SessionContai
requestItem.returnDate) requestItem.returnDate)
return {"message": "Successfully Generated File"} return {"message": "Successfully Generated File"}
def uploudFile(app_id, fileName, extension, content): def uploudFile(app_id, folder, fileName, extension, content):
client = Minio_Storage.minioConnection.minioConnect("dev") client = Minio_Storage.minioConnection.minioConnect("dev")
found = client.bucket_exists("mih") found = client.bucket_exists("mih")
if not found: if not found:
client.make_bucket("mih") client.make_bucket("mih")
else: else:
print("Bucket already exists") print("Bucket already exists")
fname = app_id + "/" + fileName fname = app_id + "/" + folder + "/" + fileName
client.put_object("mih", client.put_object("mih",
fname, fname,
content, content,