Gros refactoring
This commit is contained in:
parent
6008aa68f6
commit
4a6bfc951f
368 changed files with 22503 additions and 3 deletions
58
backend/routers/images.py
Normal file
58
backend/routers/images.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
import os
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, UploadFile
|
||||
from starlette.responses import FileResponse
|
||||
|
||||
from authentication import get_current_active_user
|
||||
from models import User
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/")
|
||||
async def get_images(current_user: Annotated[User, Depends(get_current_active_user)]):
|
||||
# list all files in resources/images
|
||||
files = [f for f in os.listdir(f"{os.getcwd()}/resources/images") if os.path.isfile(os.path.join(f"{os.getcwd()}/resources/images", f))]
|
||||
# sort the files
|
||||
files.sort()
|
||||
return {"images": files}
|
||||
|
||||
@router.get("/{nom_image}")
|
||||
async def get_image(nom_image: str, current_user: Annotated[User, Depends(get_current_active_user)]):
|
||||
return FileResponse(f"{os.getcwd()}/resources/images/{nom_image}")
|
||||
|
||||
@router.post("/")
|
||||
async def ajouter_image(file: UploadFile, current_user: Annotated[User, Depends(get_current_active_user)]):
|
||||
"""
|
||||
Add an image to the images folder.
|
||||
:param current_user:
|
||||
:param file:
|
||||
:return:
|
||||
"""
|
||||
image_path = f"{os.getcwd()}/resources/images/{file.filename}"
|
||||
try:
|
||||
contents = file.file.read()
|
||||
with open(image_path, 'wb') as f:
|
||||
f.write(contents)
|
||||
except Exception as e:
|
||||
return {"message": f"There was an error uploading the file: {e}"}
|
||||
finally:
|
||||
file.file.close()
|
||||
|
||||
return {"message": f"Successfully uploaded all files"}
|
||||
|
||||
@router.delete("/{nom_image}")
|
||||
async def supprimer_image(nom_image: str, current_user: Annotated[User, Depends(get_current_active_user)]):
|
||||
"""
|
||||
Delete an image from the images folder.
|
||||
:param current_user:
|
||||
:param nom_image:
|
||||
:return:
|
||||
"""
|
||||
image_path = f"{os.getcwd()}/resources/images/{nom_image}"
|
||||
try:
|
||||
os.remove(image_path)
|
||||
except Exception as e:
|
||||
return {"message": f"There was an error deleting the file: {e}"}
|
||||
finally:
|
||||
return {"message": f"Successfully deleted {nom_image}"}
|
Loading…
Add table
Add a link
Reference in a new issue