DocSpace-buildtools/packages/asc-web-common/api/portal/index.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

import { request } from "../client";
export function getShortenedLink(link) {
return request({
method: "put",
url: "/portal/getshortenlink.json",
2021-03-22 16:18:30 +00:00
data: { link },
});
}
const GUEST_INVITE_LINK = "guestInvitationLink";
const USER_INVITE_LINK = "userInvitationLink";
const INVITE_LINK_TTL = "localStorageLinkTtl";
const LINKS_TTL = 6 * 3600 * 1000;
export function getInvitationLink(isGuest) {
const curLinksTtl = localStorage.getItem(INVITE_LINK_TTL);
const now = +new Date();
if (!curLinksTtl) {
localStorage.setItem(INVITE_LINK_TTL, now);
} else if (now - curLinksTtl > LINKS_TTL) {
localStorage.removeItem(GUEST_INVITE_LINK);
localStorage.removeItem(USER_INVITE_LINK);
localStorage.setItem(INVITE_LINK_TTL, now);
}
const link = localStorage.getItem(
isGuest ? GUEST_INVITE_LINK : USER_INVITE_LINK
);
return link
? Promise.resolve(link)
: request({
method: "get",
url: `/portal/users/invite/${isGuest ? 2 : 1}.json`,
}).then((link) => {
localStorage.setItem(
isGuest ? GUEST_INVITE_LINK : USER_INVITE_LINK,
link
);
return Promise.resolve(link);
});
}
export function getInvitationLinks() {
const isGuest = true;
Merge branch 'develop' into feature/workspaces # Conflicts: # packages/asc-web-common/src/components/GroupSelector/GroupSelector.stories.js # packages/asc-web-common/src/components/NavMenu/sub-components/header-nav.js # packages/asc-web-common/src/components/NavMenu/sub-components/header.js # packages/asc-web-common/src/components/NavMenu/sub-components/nav-item.js # packages/asc-web-common/src/components/NavMenu/sub-components/nav-logo-item.js # packages/asc-web-common/src/components/PageLayout/index.js # packages/asc-web-common/src/components/PeopleSelector/PeopleSelector.stories.js # packages/asc-web-common/src/components/PrivateRoute/PrivateRoute.js # packages/asc-web-common/src/store/AuthStore.js # packages/asc-web-common/src/store/ModuleStore.js # packages/asc-web-common/src/store/SettingsStore.js # packages/asc-web-common/src/store/UserStore.js # packages/asc-web-common/src/store/auth/actions.js # packages/asc-web-common/src/store/auth/index.js # packages/asc-web-common/src/store/auth/reducer.js # packages/asc-web-common/src/store/auth/selectors.js # products/ASC.Files/Client/config-overrides.js # products/ASC.Files/Client/package.json # products/ASC.Files/Client/src/App.js # products/ASC.Files/Client/src/components/Article/Body/ThirdPartyList.js # products/ASC.Files/Client/src/components/Article/Body/TreeFolders.js # products/ASC.Files/Client/src/components/Article/Body/TreeSettings.js # products/ASC.Files/Client/src/components/Article/Body/index.js # products/ASC.Files/Client/src/components/Article/Header/index.js # products/ASC.Files/Client/src/components/Article/MainButton/index.js # products/ASC.Files/Client/src/components/dialogs/ConnectDialog/index.js # products/ASC.Files/Client/src/components/dialogs/ConvertDialog/index.js # products/ASC.Files/Client/src/components/dialogs/DeleteDialog/index.js # products/ASC.Files/Client/src/components/dialogs/DeleteThirdPartyDialog/index.js # products/ASC.Files/Client/src/components/dialogs/DownloadDialog/index.js # products/ASC.Files/Client/src/components/dialogs/EmptyTrashDialog/index.js # products/ASC.Files/Client/src/components/dialogs/ThirdPartyMoveDialog/index.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/BadgesFileTile.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesTileContent.js # products/ASC.Files/Client/src/components/pages/Home/Section/Body/index.js # products/ASC.Files/Client/src/components/pages/Home/Section/Filter/index.js # products/ASC.Files/Client/src/components/pages/Home/Section/Header/index.js # products/ASC.Files/Client/src/components/pages/Home/Section/Paging/index.js # products/ASC.Files/Client/src/components/pages/Home/index.js # products/ASC.Files/Client/src/components/pages/Settings/Section/Body/ConnectedClouds.js # products/ASC.Files/Client/src/components/pages/Settings/Section/Body/index.js # products/ASC.Files/Client/src/components/pages/VersionHistory/Section/Body/VersionRow.js # products/ASC.Files/Client/src/components/pages/VersionHistory/Section/Body/index.js # products/ASC.Files/Client/src/components/pages/VersionHistory/index.js # products/ASC.Files/Client/src/components/panels/AddGroupsPanel/index.js # products/ASC.Files/Client/src/components/panels/AddUsersPanel/index.js # products/ASC.Files/Client/src/components/panels/ChangeOwnerPanel/index.js # products/ASC.Files/Client/src/components/panels/EmbeddingPanel/index.js # products/ASC.Files/Client/src/components/panels/NewFilesPanel/index.js # products/ASC.Files/Client/src/components/panels/OperationsPanel/index.js # products/ASC.Files/Client/src/components/panels/SharingPanel/AccessComboBox.js # products/ASC.Files/Client/src/components/panels/SharingPanel/SharingRow.js # products/ASC.Files/Client/src/components/panels/SharingPanel/index.js # products/ASC.Files/Client/src/components/panels/UploadPanel/ShareButton.js # products/ASC.Files/Client/src/components/panels/UploadPanel/index.js # products/ASC.Files/Client/src/components/panels/VersionHistoryPanel/index.js # products/ASC.Files/Client/src/helpers/desktop.js # products/ASC.Files/Client/src/helpers/i18n.js # products/ASC.Files/Client/src/helpers/utils.js # products/ASC.Files/Client/src/index.js # products/ASC.Files/Client/src/store/files/actions.js # products/ASC.Files/Client/src/store/files/reducers.js # products/ASC.Files/Client/src/store/rootReducer.js # products/ASC.People/Client/config-overrides.js # products/ASC.People/Client/package.json # products/ASC.People/Client/src/App.js # products/ASC.People/Client/src/components/Article/Body/index.js # products/ASC.People/Client/src/components/Article/Header/index.js # products/ASC.People/Client/src/components/Article/MainButton/index.js # products/ASC.People/Client/src/components/dialogs/ChangeEmailDialog/index.js # products/ASC.People/Client/src/components/dialogs/ChangePasswordDialog/index.js # products/ASC.People/Client/src/components/dialogs/ChangePhoneDialog/index.js # products/ASC.People/Client/src/components/dialogs/ChangeUserStatusDialog/index.js # products/ASC.People/Client/src/components/dialogs/ChangeUserTypeDialog/index.js # products/ASC.People/Client/src/components/dialogs/DataLossWarningDialog/index.js # products/ASC.People/Client/src/components/dialogs/DeleteProfileEverDialog/index.js # products/ASC.People/Client/src/components/dialogs/DeleteSelfProfileDialog/index.js # products/ASC.People/Client/src/components/dialogs/DeleteUsersDialog/index.js # products/ASC.People/Client/src/components/dialogs/InviteDialog/index.js # products/ASC.People/Client/src/components/dialogs/SendInviteDialog/index.js # products/ASC.People/Client/src/components/pages/GroupAction/Section/Body/index.js # products/ASC.People/Client/src/components/pages/GroupAction/index.js # products/ASC.People/Client/src/components/pages/Home/Section/Body/index.js # products/ASC.People/Client/src/components/pages/Home/Section/Body/userContent.js # products/ASC.People/Client/src/components/pages/Home/Section/Filter/index.js # products/ASC.People/Client/src/components/pages/Home/Section/Header/index.js # products/ASC.People/Client/src/components/pages/Home/Section/Paging/index.js # products/ASC.People/Client/src/components/pages/Home/index.js # products/ASC.People/Client/src/components/pages/Profile/Section/Body/ProfileInfo/ProfileInfo.js # products/ASC.People/Client/src/components/pages/Profile/Section/Body/index.js # products/ASC.People/Client/src/components/pages/Profile/Section/Header/index.js # products/ASC.People/Client/src/components/pages/Profile/index.js # products/ASC.People/Client/src/components/pages/ProfileAction/Section/Body/avatarEditorPage.js # products/ASC.People/Client/src/components/pages/ProfileAction/Section/Body/createAvatarEditorPage.js # products/ASC.People/Client/src/components/pages/ProfileAction/Section/Body/updateUserForm.js # products/ASC.People/Client/src/components/pages/ProfileAction/index.js # products/ASC.People/Client/src/components/pages/Reassign/Section/Header/index.js # products/ASC.People/Client/src/components/pages/Reassign/index.js # products/ASC.People/Client/src/helpers/i18n.js # products/ASC.People/Client/src/helpers/utils.js # products/ASC.People/Client/src/index.js # products/ASC.People/Client/src/store/people/reducers.js # products/ASC.People/Client/src/store/portal/actions.js # products/ASC.People/Client/src/store/portal/reducers.js # products/ASC.People/Client/src/store/profile/actions.js # products/ASC.People/Client/src/store/profile/selectors.js # products/ASC.People/Client/src/store/rootReducer.js # products/ASC.People/Client/yarn.lock # web/ASC.Web.Client/config-overrides.js # web/ASC.Web.Client/package.json # web/ASC.Web.Client/src/App.js # web/ASC.Web.Client/src/components/pages/About/index.js # web/ASC.Web.Client/src/components/pages/Confirm/index.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/activateEmail.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/activateUser.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/changeEmail.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/changeOwner.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/changePassword.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/changePhone.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/createUser.js # web/ASC.Web.Client/src/components/pages/Confirm/sub-components/profileRemove.js # web/ASC.Web.Client/src/components/pages/Home/index.js # web/ASC.Web.Client/src/components/pages/PaymentsEnterprise/index.js # web/ASC.Web.Client/src/components/pages/PaymentsEnterprise/sub-components/advantagesContainer.js # web/ASC.Web.Client/src/components/pages/PaymentsEnterprise/sub-components/buttonContainer.js # web/ASC.Web.Client/src/components/pages/PaymentsEnterprise/sub-components/contactContainer.js # web/ASC.Web.Client/src/components/pages/PaymentsEnterprise/sub-components/headerContainer.js # web/ASC.Web.Client/src/components/pages/Settings/Layout/index.js # web/ASC.Web.Client/src/components/pages/Settings/categories/common/custom-titles.js # web/ASC.Web.Client/src/components/pages/Settings/categories/common/customization.js # web/ASC.Web.Client/src/components/pages/Settings/categories/common/language-and-time-zone.js # web/ASC.Web.Client/src/components/pages/Settings/categories/common/whitelabel.js # web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/consumerModalDialog.js # web/ASC.Web.Client/src/components/pages/Settings/categories/integration/thirdPartyServicesSettings.js # web/ASC.Web.Client/src/components/pages/Settings/categories/security/accessRights.js # web/ASC.Web.Client/src/components/pages/Settings/categories/security/sub-components/admins.js # web/ASC.Web.Client/src/components/pages/Settings/categories/security/sub-components/modules.js # web/ASC.Web.Client/src/components/pages/Settings/categories/security/sub-components/owner.js # web/ASC.Web.Client/src/components/pages/ThirdParty/index.js # web/ASC.Web.Client/src/components/pages/Wizard/index.js # web/ASC.Web.Client/src/helpers/confirmRoute.js # web/ASC.Web.Client/src/helpers/i18n.js # web/ASC.Web.Client/src/helpers/utils.js # web/ASC.Web.Client/src/index.js # web/ASC.Web.Client/src/store/confirm/actions.js # web/ASC.Web.Client/src/store/payments/actions.js # web/ASC.Web.Client/src/store/settings/reducer.js # web/ASC.Web.Client/src/store/settings/selectors.js # web/ASC.Web.Client/src/store/store.js # web/ASC.Web.Client/src/store/wizard/actions.js # web/ASC.Web.Client/yarn.lock # web/ASC.Web.Common/package.json # web/ASC.Web.Common/yarn.lock # web/ASC.Web.Components/package.json # web/ASC.Web.Components/yarn.lock # web/ASC.Web.Login/src/Login.jsx # web/ASC.Web.Login/src/sub-components/register-container.js # yarn.lock
2021-02-24 07:30:42 +00:00
return Promise.all([getInvitationLink(), getInvitationLink(isGuest)]).then(
2021-03-12 07:17:38 +00:00
([userInvitationLinkResp, guestInvitationLinkResp]) => {
return Promise.resolve({
userLink: userInvitationLinkResp,
guestLink: guestInvitationLinkResp,
});
2021-03-12 07:17:38 +00:00
}
);
}