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

Loading…
Cancel
Save