🎨 Fixed some code smells
continuous-integration/drone/push Build is passing Details

nominatim_fix
Alix JEUDI--LEMOINE 3 weeks ago
parent 1ad47cb20b
commit c3dbd97add

@ -135,7 +135,7 @@ async def deny_friend(id: str, current_user: User = Depends(get_current_user)):
except bson.errors.InvalidId: except bson.errors.InvalidId:
objectid_misformatted() objectid_misformatted()
#if result.matched_count == 0: friend_not_found() if result.matched_count == 0: friend_not_found()
return {"message": "Friend request denied"} return {"message": "Friend request denied"}

@ -27,6 +27,10 @@ pins_router = APIRouter(
tags=["Pins"] tags=["Pins"]
) )
def check_pin_is_null(pin):
if pin is None:
raise HTTPException(status_code=404, detail="Pin not found")
@pins_router.get( @pins_router.get(
path="/{id}", path="/{id}",
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}, 422: {"model": HTTPError}} responses={401: {"model": HTTPError}, 404: {"model": HTTPError}, 422: {"model": HTTPError}}
@ -34,8 +38,7 @@ pins_router = APIRouter(
async def get_pin(id: str, current_user: User = Depends(get_current_user)): async def get_pin(id: str, current_user: User = Depends(get_current_user)):
try: try:
pin = pins_collection.find_one({"_id": ObjectId(id)}) pin = pins_collection.find_one({"_id": ObjectId(id)})
if pin is None: check_pin_is_null(pin)
raise HTTPException(status_code=404, detail="Pin not found")
# Vérifier si l'utilisateur a la permission de voir le pin # Vérifier si l'utilisateur a la permission de voir le pin
if pin["user_id"] != current_user.uid: if pin["user_id"] != current_user.uid:
@ -59,8 +62,7 @@ async def update_pin(id: str, pin: PinDTO, current_user: User = Depends(get_curr
try: try:
# Vérifier si le pin existe # Vérifier si le pin existe
existing_pin = pins_collection.find_one({"_id": ObjectId(id)}) existing_pin = pins_collection.find_one({"_id": ObjectId(id)})
if existing_pin is None: check_pin_is_null(existing_pin)
raise HTTPException(status_code=404, detail="Pin not found")
# Vérifier si l'utilisateur a la permission de modifier le pin # Vérifier si l'utilisateur a la permission de modifier le pin
if existing_pin["user_id"] != current_user.uid: if existing_pin["user_id"] != current_user.uid:
@ -73,7 +75,8 @@ async def update_pin(id: str, pin: PinDTO, current_user: User = Depends(get_curr
raise HTTPException(status_code=403, detail="You don't have permission to edit this pin") raise HTTPException(status_code=403, detail="You don't have permission to edit this pin")
# Mettre à jour le pin # Mettre à jour le pin
result = pins_collection.update_one({"_id": ObjectId(id)}, {"$set": pin.model_dump()}) pins_collection.update_one({"_id": ObjectId(id)}, {"$set": pin.model_dump()})
return {"message": "Pin updated"} return {"message": "Pin updated"}
except bson.errors.InvalidId: except bson.errors.InvalidId:
@ -123,8 +126,7 @@ async def share_pin(id: str, share_data: PinShareDTO, current_user: User = Depen
try: try:
# Vérifier si le pin existe et appartient à l'utilisateur courant # Vérifier si le pin existe et appartient à l'utilisateur courant
pin = pins_collection.find_one({"_id": ObjectId(id)}) pin = pins_collection.find_one({"_id": ObjectId(id)})
if pin is None: check_pin_is_null(pin)
raise HTTPException(status_code=404, detail="Pin not found")
if pin["user_id"] != current_user.uid: if pin["user_id"] != current_user.uid:
raise HTTPException(status_code=403, detail="You can only share your own pins") raise HTTPException(status_code=403, detail="You can only share your own pins")
@ -176,8 +178,7 @@ async def share_pin(id: str, share_data: PinShareDTO, current_user: User = Depen
async def delete_pin(id: str, current_user: User = Depends(get_current_user)): async def delete_pin(id: str, current_user: User = Depends(get_current_user)):
try: try:
pin = pins_collection.find_one({"_id": ObjectId(id)}) pin = pins_collection.find_one({"_id": ObjectId(id)})
if pin is None: check_pin_is_null(pin)
raise HTTPException(status_code=404, detail="Pin not found")
# Si l'utilisateur est le propriétaire, supprimer le pin et toutes ses permissions # Si l'utilisateur est le propriétaire, supprimer le pin et toutes ses permissions
if pin["user_id"] == current_user.uid: if pin["user_id"] == current_user.uid:

@ -1,7 +1,13 @@
from app.models.friend import Friend from app.models.friend import Friend
def friend_serialize(friend: list, is_external: bool) -> Friend: def friend_serialize(friend: list, is_external: bool) -> Friend:
status = friend['status'] if friend['status'] != 'pending' else ('pending_approval' if is_external else 'pending') if friend['status'] != 'pending':
status = friend['status']
else:
if is_external:
status = 'pending_approval'
else:
status = 'pending'
return Friend(**{ return Friend(**{
"id": str(friend["_id"]), "id": str(friend["_id"]),

Loading…
Cancel
Save