diff --git a/client/src/lib/groups.js b/client/src/lib/groups.js index fa9396d..098b917 100644 --- a/client/src/lib/groups.js +++ b/client/src/lib/groups.js @@ -188,10 +188,11 @@ export async function createGroup(apiClient, groupName) { try { response = await apiClient.post(`${config.GROUPS_API_URL}`, payload); + return response.data; } catch (error) { - console.log(error); + if (error && error.message) { + return { message: error.message }; + } // TODO - Handle error } - - return response.data; } diff --git a/client/src/pages/Search/Groups.jsx b/client/src/pages/Search/Groups.jsx index 8cbb14f..488a6ce 100644 --- a/client/src/pages/Search/Groups.jsx +++ b/client/src/pages/Search/Groups.jsx @@ -108,13 +108,15 @@ export default function SearchGroups() { const newGroup = await groupLib.createGroup(apiClient, groupName); - if (newGroup.id) { + if (newGroup && newGroup.id) { const newOtherGroups = JSON.parse(JSON.stringify(otherGroups)); newOtherGroups.push({ ...newGroup, count: 0 }); setOtherGroups(newOtherGroups); alert(`Group with name ${groupName} created successfully`); + } else if (newGroup.message) { + alert(newGroup.message); } else { alert("Group creation failed"); } diff --git a/client/src/services/api.js b/client/src/services/api.js index 0d1feab..0f670ac 100644 --- a/client/src/services/api.js +++ b/client/src/services/api.js @@ -33,6 +33,13 @@ export default () => { await loginWithRedirect({ redirect_uri: window.location.origin, }); + } else if ( + error.response && + error.response.status === 409 && + error.response.data.message + ) { + const modError = new Error(error.response.data.message); + return Promise.reject(modError); } return Promise.reject(error);