From 8627a2c43e515e6efd49277fc3dcdc10bf673e73 Mon Sep 17 00:00:00 2001 From: RonalddMatias Date: Sun, 23 Mar 2025 14:22:52 -0300 Subject: [PATCH 1/3] add function block user --- app/api/routes/users.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/api/routes/users.py b/app/api/routes/users.py index 81c936f..e69931c 100644 --- a/app/api/routes/users.py +++ b/app/api/routes/users.py @@ -90,3 +90,15 @@ def delete_user(user_id: uuid.UUID, session: SessionDep): session.delete(user) session.commit() return {"ok": True} + +# Block a user +# TODO: only admin can blocked +@router.patch("/{user_id}/block", response_model=dict) +def block_user(user_id: uuid.UUID, session: SessionDep): + user = session.get(User, user_id) + if not user: + raise HTTPException(status_code=404, detail="User not found") + user.is_active = False + session.add(user) + session.commit() + return {"ok":True} From c61251fa71bdf1324f56962e84b6e257d925537c Mon Sep 17 00:00:00 2001 From: RonalddMatias Date: Sun, 23 Mar 2025 14:43:22 -0300 Subject: [PATCH 2/3] add function get users blocked --- app/api/routes/users.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/api/routes/users.py b/app/api/routes/users.py index e69931c..e936dbb 100644 --- a/app/api/routes/users.py +++ b/app/api/routes/users.py @@ -27,6 +27,12 @@ def create_user(user_in: UserCreate, session: SessionDep) -> User | None: user_db = user_service.create_user(session=session, user_create=user_in) return user_db +#Get users that are blocked +#TODO: only admin can list blocked users +@router.get("/blocked_users", response_model=list[UserPublic]) +def get_blocked_users(session: SessionDep): + users = session.exec(select(User).where(User.is_active == False)).all() + return users @router.get("/", response_model=list[UserPublic]) def read_users( @@ -93,7 +99,7 @@ def delete_user(user_id: uuid.UUID, session: SessionDep): # Block a user # TODO: only admin can blocked -@router.patch("/{user_id}/block", response_model=dict) +@router.patch("/block/{user_id}", response_model=dict) def block_user(user_id: uuid.UUID, session: SessionDep): user = session.get(User, user_id) if not user: From a292ad456d744a0fb394e2840abc098f3afc1eb2 Mon Sep 17 00:00:00 2001 From: RonalddMatias Date: Sun, 23 Mar 2025 15:03:40 -0300 Subject: [PATCH 3/3] add function to unlock user --- app/api/routes/users.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/api/routes/users.py b/app/api/routes/users.py index e936dbb..6d0a964 100644 --- a/app/api/routes/users.py +++ b/app/api/routes/users.py @@ -108,3 +108,13 @@ def block_user(user_id: uuid.UUID, session: SessionDep): session.add(user) session.commit() return {"ok":True} + +@router.patch("/unblock/{user_id}", response_model=dict) +def unblock_user(user_id: uuid.UUID, session: SessionDep): + user = session.get(User, user_id) + if not user: + raise HTTPException(status_code=404, detail="User not found") + user.is_active = True + session.add(user) + session.commit() + return {"ok":True} \ No newline at end of file