From da120cd58ce5fab9132eabc468938e356735bcdc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A9o=20Banno-Cloutier?=
 <leo.banno-cloutier@savoirfairelinux.com>
Date: Mon, 17 Jul 2023 16:54:28 -0400
Subject: [PATCH] /api/auth/directory/search: return empty array instead of 204

Change-Id: I18442a86f499eb8fdb36b6af9be3742defe289bc
---
 .../Blueprint/EditBlueprintPermissions.js     |  5 -----
 jams-react-client/src/views/Users/Users.js    | 21 ++++++-------------
 .../directory/SearchDirectoryServlet.java     |  7 ++-----
 3 files changed, 8 insertions(+), 25 deletions(-)

diff --git a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
index 8d7ca275..85604544 100644
--- a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
+++ b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js
@@ -130,11 +130,6 @@ export default function EditBlueprintPermissions(props) {
       )
     )
       .then((response) => {
-        if (response.status === 204) {
-          setUsers([]);
-          return;
-        }
-
         const profilesResults = response.data.profiles;
         const usernames = users.map((user) => user.username);
 
diff --git a/jams-react-client/src/views/Users/Users.js b/jams-react-client/src/views/Users/Users.js
index 7c408063..ebc30a49 100644
--- a/jams-react-client/src/views/Users/Users.js
+++ b/jams-react-client/src/views/Users/Users.js
@@ -73,7 +73,7 @@ export default function Users() {
   const classes = useStyles();
   const history = useHistory();
   const [users, setUsers] = useState([]);
-  const [noUsersFound, setNoUsersFound] = useState(false);
+  const noUsersFound = users.length === 0;
   const [noMatchFound, setNoMatchFound] = useState(false);
   const [loading, setLoading] = useState(false);
   const [progress, setProgress] = useState(0);
@@ -104,13 +104,8 @@ export default function Users() {
       )
     )
       .then((response) => {
-        if (response.status !== 204) {
-          setUsers(response.data.profiles);
-
-          setNumberPages(response.data.numPages);
-        } else {
-          setNoUsersFound(true);
-        }
+        setUsers(response.data.profiles);
+        setNumberPages(response.data.numPages);
         setLoading(false);
       })
       .catch((error) => {
@@ -140,16 +135,12 @@ export default function Users() {
     )
       .then((response) => {
         setLoading(false);
-        if (response.status !== 204) {
-          setUsers(response.data.profiles);
-          setNumberPages(response.data.numPages);
-        } else {
-          setNoMatchFound(true);
-        }
+        setUsers(response.data.profiles);
+        setNumberPages(response.data.numPages);
+        setNoMatchFound(response.data.profiles.length === 0);
       })
       .catch((error) => {
         setUsers([]);
-        setNoMatchFound(true);
         setLoading(false);
         if (error.response.status === 401) {
           auth.authenticated = false;
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
index cd77d04b..8ca50f7e 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/directory/SearchDirectoryServlet.java
@@ -149,10 +149,7 @@ public class SearchDirectoryServlet extends HttpServlet {
         JSONObject obj = new JSONObject();
         obj.put("profiles", userProfiles);
         obj.put("numPages", dataStore.NUM_PAGES);
-        if (!userProfiles.isEmpty()) {
-            resp.getOutputStream().write((obj.toString()).getBytes());
-            resp.setStatus(200);
-        } else
-            resp.sendError(204, "No users were found!");
+        resp.getOutputStream().write((obj.toString()).getBytes());
+        resp.setStatus(200);
     }
 }
\ No newline at end of file
-- 
GitLab