From a6e7f5ab8d026e5df5b45fee573dc2e1b5784e0d Mon Sep 17 00:00:00 2001 From: Daniil Senkiv Date: Wed, 25 Sep 2019 10:43:14 +0300 Subject: [PATCH] People.Client: separated getting invite links --- .../Client/src/store/auth/actions.js | 7 ++++- .../Client/src/store/services/api.js | 30 ++++++++++++++----- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/products/ASC.People/Client/src/store/auth/actions.js b/products/ASC.People/Client/src/store/auth/actions.js index a893589e85..3e81ed4740 100644 --- a/products/ASC.People/Client/src/store/auth/actions.js +++ b/products/ASC.People/Client/src/store/auth/actions.js @@ -45,10 +45,15 @@ export function setLogout() { export async function getUserInfo(dispatch) { const { user, modules, settings } = await api.getInitInfo(); + let newSettings = settings; + if (user.isAdmin) { + const inviteLinkResp = await api.getInvitationLinks(); + newSettings = Object.assign(newSettings, inviteLinkResp); + } dispatch(setCurrentUser(user)); dispatch(setModules(modules)); - dispatch(setSettings(settings)); + dispatch(setSettings(newSettings)); const groupResp = await api.getGroupList(); diff --git a/products/ASC.People/Client/src/store/services/api.js b/products/ASC.People/Client/src/store/services/api.js index bdace944d9..d2ed413931 100644 --- a/products/ASC.People/Client/src/store/services/api.js +++ b/products/ASC.People/Client/src/store/services/api.js @@ -91,8 +91,8 @@ export function deleteAvatar(profileId) { } export function getInitInfo() { - return axios.all([getUser(), getModulesList(), getSettings(), getPortalPasswordSettings(), getInvitationLink(), getInvitationLink(true)]).then( - axios.spread(function (userResp, modulesResp, settingsResp, passwordSettingsResp, userInvitationLinkResp, guestInvitationLinkResp) { + return axios.all([getUser(), getModulesList(), getSettings(), getPortalPasswordSettings()]).then( + axios.spread(function (userResp, modulesResp, settingsResp, passwordSettingsResp) { let info = { user: userResp.data.response, modules: modulesResp.data.response, @@ -100,12 +100,26 @@ export function getInitInfo() { }; info.settings.passwordSettings = passwordSettingsResp.data.response; - info.settings.inviteLinks = { + + return Promise.resolve(info); + }) + ); +} + +export function getInvitationLinks() { + const isGuest = true; + return axios.all([getInvitationLink(), getInvitationLink(isGuest)]).then( + axios.spread(function (userInvitationLinkResp, guestInvitationLinkResp) { + let links = { + inviteLinks: {} + }; + + links.inviteLinks = { userLink: userInvitationLinkResp, guestLink: guestInvitationLinkResp } - return Promise.resolve(info); + return Promise.resolve(links); }) ); } @@ -156,8 +170,8 @@ export function deleteUsers(userIds) { return IS_FAKE ? fakeApi.deleteUsers(userIds) : axios - .put(`${API_URL}/people/delete.json`, { userIds }) - .then(CheckError); + .put(`${API_URL}/people/delete.json`, { userIds }) + .then(CheckError); } export function getGroup(groupId) { @@ -219,11 +233,11 @@ function CheckError(res) { } export function createGroup(groupName, groupManager, members) { - const group = {groupName, groupManager, members}; + const group = { groupName, groupManager, members }; return axios.post(`${API_URL}/group.json`, group); } export function updateGroup(id, groupName, groupManager, members) { - const group = {groupId: id, groupName, groupManager, members}; + const group = { groupId: id, groupName, groupManager, members }; return axios.put(`${API_URL}/group/${id}.json`, group); }