🐛 Fixed get pin (internal error) & model name for errors

master
Alix JEUDI--LEMOINE 5 months ago
parent 39278fe4b3
commit d37f6d9325

@ -81,11 +81,11 @@ async def get_current_user(token: str = Depends(oauth2_scheme)) -> User:
return user_serialize(user)
# Routes - TODO: find workaround to display 401/409/... HTTP error codes in openapi.json
# Routes
@app.post(
path="/register",
response_model=Token,
responses={409: {"model": Message}}
responses={409: {"model": HTTPError}}
)
async def register(user: UserRegisterDTO):
user_exists = users_collection.find_one({"username": user.username})
@ -106,7 +106,7 @@ async def register(user: UserRegisterDTO):
@app.post(
path="/login",
response_model=Token,
responses={401: {"model": Message}}
responses={401: {"model": HTTPError}}
)
async def login(form_data: OAuth2PasswordRequestForm = Depends()):
user = users_collection.find_one({"username": form_data.username})
@ -124,7 +124,7 @@ async def login(form_data: OAuth2PasswordRequestForm = Depends()):
@app.get(
path="/logout",
responses={401: {"model": Message}}
responses={401: {"model": HTTPError}}
)
async def logout(current_user: User = Depends(get_current_user)):
# TODO: find usecase / what to do ??
@ -132,18 +132,18 @@ async def logout(current_user: User = Depends(get_current_user)):
@app.get(
path="/pin/{id}",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def get_pin(id: str, current_user: User = Depends(get_current_user)):
pin = pins_collection.find_one({"_id": ObjectId(id)})
if pin is None:
raise HTTPException(status_code=404, detail="Pin not found")
return pin
return pin_serialize(pin)
@app.patch(
path="/pin/{id}",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def update_pin(id: str, pin: Pin, current_user: User = Depends(get_current_user)):
result = pins_collection.update_one({"_id": ObjectId(id)}, {"$set": pin.model_dump()})
@ -154,7 +154,7 @@ async def update_pin(id: str, pin: Pin, current_user: User = Depends(get_current
@app.post(
path="/pin/add",
responses={401: {"model": Message}}
responses={401: {"model": HTTPError}}
)
async def add_pin(pin: Pin, current_user: User = Depends(get_current_user)):
pin_id = pins_collection.insert_one(pin.model_dump()).inserted_id
@ -162,7 +162,7 @@ async def add_pin(pin: Pin, current_user: User = Depends(get_current_user)):
@app.get(
path="/pins",
responses={401: {"model": Message}}
responses={401: {"model": HTTPError}}
)
async def list_pins(current_user: User = Depends(get_current_user)):
pins = pins_serialize(pins_collection.find().to_list())
@ -170,7 +170,7 @@ async def list_pins(current_user: User = Depends(get_current_user)):
@app.get(
path="/friend/{id}",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def get_friend(id: str, current_user: User = Depends(get_current_user)):
friend = friends_collection.find_one({"_id": ObjectId(id)})
@ -181,7 +181,7 @@ async def get_friend(id: str, current_user: User = Depends(get_current_user)):
@app.post(
path="/friend/add",
responses={401: {"model": Message}, 409: {"model": Message}}
responses={401: {"model": HTTPError}, 409: {"model": HTTPError}}
)
async def add_friend(friendAdd: FriendAddDTO, current_user: User = Depends(get_current_user)):
# TODO: test if exists
@ -201,7 +201,7 @@ async def add_friend(friendAdd: FriendAddDTO, current_user: User = Depends(get_c
@app.delete(
path="/friend/{id}/delete",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def delete_friend(id: str, current_user: User = Depends(get_current_user)):
result = friends_collection.delete_one({"_id": ObjectId(id)})
@ -212,7 +212,7 @@ async def delete_friend(id: str, current_user: User = Depends(get_current_user))
@app.patch(
path="/friend/{id}/accept",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def accept_friend(id: str, current_user: User = Depends(get_current_user)):
result = friends_collection.update_one({"_id": ObjectId(id)}, {"$set": {"status": "accepted"}})
@ -223,7 +223,7 @@ async def accept_friend(id: str, current_user: User = Depends(get_current_user))
@app.post(
path="/friend/{id}/deny",
responses={401: {"model": Message}, 404: {"model": Message}}
responses={401: {"model": HTTPError}, 404: {"model": HTTPError}}
)
async def deny_friend(id: str, current_user: User = Depends(get_current_user)):
result = friends_collection.update_one({"_id": ObjectId(id)}, {"$set": {"status": "denied"}})
@ -235,14 +235,14 @@ async def deny_friend(id: str, current_user: User = Depends(get_current_user)):
@app.get(
path="/friends",
response_model=FriendListDTO,
responses={401: {"model": Message}}
responses={401: {"model": HTTPError}}
)
async def list_friends(current_user: User = Depends(get_current_user)):
return FriendListDTO(**friends_serialize(friends_collection.find({"user_id": current_user.uid}).to_list(), friends_collection.find({"friend_user_id": current_user.uid})))
return FriendListDTO(**friends_serialize(friends_collection.find({"user_id": current_user.uid}).to_list(), friends_collection.find({"friend_user_id": current_user.uid}).to_list()))
@app.get(
path="/users",
responses={401: {"model": Message}, 422: {"model": Message}},
responses={401: {"model": HTTPError}, 422: {"model": HTTPError}},
response_model=list[UserDTO]
)
async def search_users(name: str, current_user: User = Depends(get_current_user)):

Loading…
Cancel
Save