From 4e2cf12c3b4731ab1888c435b96d0d80db4fa72b Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Thu, 26 Oct 2023 00:08:14 +0200 Subject: [PATCH] add enable user --- app/routers/users.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/routers/users.py b/app/routers/users.py index fa431aa..efdb31e 100644 --- a/app/routers/users.py +++ b/app/routers/users.py @@ -25,7 +25,7 @@ async def read_users(authorize: Annotated[bool, Depends(permissions_checker.Perm return listUsers @router.get("/users/search", tags=["users"], response_model=list[users.UserOut]) -async def read_users_id(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], skip: int = 0, limit: int = 20, key: str | None = None, value: str | None= None): +async def read_users_search(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], skip: int = 0, limit: int = 20, key: str | None = None, value: str | None= None): if limit < 1 or skip < 0 or limit < skip: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, @@ -65,7 +65,7 @@ async def read_users_id(item_id : str, authorize: Annotated[bool, Depends(permis @router.delete("/users/me",tags=["users"], response_model=users.User, response_model_exclude=["id", "password", "roles", "status"]) -async def read_users_me(current_user: Annotated[users.User, Depends(users_token.get_current_active_user)], authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], remove: bool = False): +async def delete_users_me(current_user: Annotated[users.User, Depends(users_token.get_current_active_user)], authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], remove: bool = False): user_repository = users.UserRepository(database=database.database) current_user.status = 0 if remove is True: @@ -74,7 +74,7 @@ async def read_users_me(current_user: Annotated[users.User, Depends(users_token. return current_user @router.delete("/users/{item_id}", tags=["users"], response_model=users.User) -async def read_users_id(item_id : str, authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))], remove : bool = False): +async def delete_users_id(item_id : str, authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))], remove : bool = False): user_repository = users.UserRepository(database=database.database) user = user_repository.find_one_by_id(ObjectId(item_id)) user.status = 0 @@ -84,7 +84,7 @@ async def read_users_id(item_id : str, authorize: Annotated[bool, Depends(permis return user @router.put("/users/me",tags=["users"], response_model=users.User, response_model_exclude=["id", "password", "roles", "status"]) -async def read_users_me(current_user: Annotated[users.User, Depends(users_token.get_current_active_user)], authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], userSingle: users.UserIn | None = None): +async def update_users_me(current_user: Annotated[users.User, Depends(users_token.get_current_active_user)], authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], userSingle: users.UserIn | None = None): user_repository = users.UserRepository(database=database.database) current_user.username = userSingle.username current_user.password = user_token.get_password_hash(userSingle.password) @@ -94,7 +94,7 @@ async def read_users_me(current_user: Annotated[users.User, Depends(users_token. return current_user @router.put("/users", tags=["users"], response_model=users.User, status_code=status.HTTP_200_OK) -async def read_users_id(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))], userSingle: users.UserIn | None = None): +async def update_users_id(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))], userSingle: users.UserIn | None = None): if userSingle is None: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, @@ -115,4 +115,12 @@ async def read_users_id(authorize: Annotated[bool, Depends(permissions_checker.P user.birth = userSingle.birth user.updated_at = datetime.today() user_repository.save(user) + return user + +@router.patch("/users/enable/{item_id}", tags=["users"], response_model=users.User) +async def patch_users_id(item_id : str, authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))]): + user_repository = users.UserRepository(database=database.database) + user = user_repository.find_one_by_id(ObjectId(item_id)) + user.status = 1 + user_repository.save(user) return user \ No newline at end of file