People.Client: separated getting invite links

This commit is contained in:
Daniil Senkiv 2019-09-25 10:43:14 +03:00
parent 88c7e56d39
commit a6e7f5ab8d
2 changed files with 28 additions and 9 deletions

View File

@ -45,10 +45,15 @@ export function setLogout() {
export async function getUserInfo(dispatch) { export async function getUserInfo(dispatch) {
const { user, modules, settings } = await api.getInitInfo(); 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(setCurrentUser(user));
dispatch(setModules(modules)); dispatch(setModules(modules));
dispatch(setSettings(settings)); dispatch(setSettings(newSettings));
const groupResp = await api.getGroupList(); const groupResp = await api.getGroupList();

View File

@ -91,8 +91,8 @@ export function deleteAvatar(profileId) {
} }
export function getInitInfo() { export function getInitInfo() {
return axios.all([getUser(), getModulesList(), getSettings(), getPortalPasswordSettings(), getInvitationLink(), getInvitationLink(true)]).then( return axios.all([getUser(), getModulesList(), getSettings(), getPortalPasswordSettings()]).then(
axios.spread(function (userResp, modulesResp, settingsResp, passwordSettingsResp, userInvitationLinkResp, guestInvitationLinkResp) { axios.spread(function (userResp, modulesResp, settingsResp, passwordSettingsResp) {
let info = { let info = {
user: userResp.data.response, user: userResp.data.response,
modules: modulesResp.data.response, modules: modulesResp.data.response,
@ -100,12 +100,26 @@ export function getInitInfo() {
}; };
info.settings.passwordSettings = passwordSettingsResp.data.response; 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, userLink: userInvitationLinkResp,
guestLink: guestInvitationLinkResp guestLink: guestInvitationLinkResp
} }
return Promise.resolve(info); return Promise.resolve(links);
}) })
); );
} }
@ -156,8 +170,8 @@ export function deleteUsers(userIds) {
return IS_FAKE return IS_FAKE
? fakeApi.deleteUsers(userIds) ? fakeApi.deleteUsers(userIds)
: axios : axios
.put(`${API_URL}/people/delete.json`, { userIds }) .put(`${API_URL}/people/delete.json`, { userIds })
.then(CheckError); .then(CheckError);
} }
export function getGroup(groupId) { export function getGroup(groupId) {
@ -219,11 +233,11 @@ function CheckError(res) {
} }
export function createGroup(groupName, groupManager, members) { export function createGroup(groupName, groupManager, members) {
const group = {groupName, groupManager, members}; const group = { groupName, groupManager, members };
return axios.post(`${API_URL}/group.json`, group); return axios.post(`${API_URL}/group.json`, group);
} }
export function updateGroup(id, groupName, groupManager, members) { 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); return axios.put(`${API_URL}/group/${id}.json`, group);
} }