2019-11-18 10:52:37 +00:00
|
|
|
import { request } from "../client";
|
|
|
|
|
|
|
|
export function getShortenedLink(link) {
|
2020-10-16 12:38:04 +00:00
|
|
|
return request({
|
|
|
|
method: "put",
|
|
|
|
url: "/portal/getshortenlink.json",
|
2021-03-22 16:18:30 +00:00
|
|
|
data: { link },
|
2020-10-16 12:38:04 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
2019-11-19 09:40:33 +00:00
|
|
|
|
2020-10-16 12:38:04 +00:00
|
|
|
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);
|
2019-11-19 09:40:33 +00:00
|
|
|
}
|
|
|
|
|
2020-10-16 12:38:04 +00:00
|
|
|
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;
|
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]) => {
|
2020-10-16 12:38:04 +00:00
|
|
|
return Promise.resolve({
|
|
|
|
userLink: userInvitationLinkResp,
|
|
|
|
guestLink: guestInvitationLinkResp,
|
|
|
|
});
|
2021-03-12 07:17:38 +00:00
|
|
|
}
|
2020-10-16 12:38:04 +00:00
|
|
|
);
|
|
|
|
}
|
2022-03-02 08:06:08 +00:00
|
|
|
|
2022-03-24 17:56:51 +00:00
|
|
|
export function startBackup(storageType, storageParams, backupMail = false) {
|
|
|
|
const options = {
|
|
|
|
method: "post",
|
|
|
|
url: `/portal/startbackup`,
|
|
|
|
data: {
|
|
|
|
storageType,
|
|
|
|
storageParams: storageParams,
|
|
|
|
backupMail,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
return request(options);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getBackupProgress() {
|
|
|
|
const options = {
|
|
|
|
method: "get",
|
|
|
|
url: "/portal/getbackupprogress",
|
|
|
|
};
|
|
|
|
return request(options);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function deleteBackupSchedule() {
|
|
|
|
const options = {
|
|
|
|
method: "delete",
|
|
|
|
url: "/portal/deletebackupschedule",
|
|
|
|
};
|
|
|
|
return request(options);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getBackupSchedule() {
|
|
|
|
const options = {
|
|
|
|
method: "get",
|
|
|
|
url: "/portal/getbackupschedule",
|
|
|
|
};
|
|
|
|
return request(options);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createBackupSchedule(
|
|
|
|
storageType,
|
|
|
|
storageParams,
|
|
|
|
backupsStored,
|
|
|
|
Period,
|
|
|
|
Hour,
|
|
|
|
Day = null,
|
|
|
|
backupMail = false
|
|
|
|
) {
|
|
|
|
const cronParams = {
|
|
|
|
Period: Period,
|
|
|
|
Hour: Hour,
|
|
|
|
Day: Day,
|
|
|
|
};
|
|
|
|
const options = {
|
|
|
|
method: "post",
|
|
|
|
url: "/portal/createbackupschedule",
|
|
|
|
data: {
|
|
|
|
storageType,
|
|
|
|
storageParams,
|
|
|
|
backupsStored,
|
|
|
|
cronParams: cronParams,
|
|
|
|
backupMail,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
return request(options);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function deleteBackupHistory() {
|
|
|
|
return request({ method: "delete", url: "/portal/deletebackuphistory" });
|
|
|
|
}
|
|
|
|
|
|
|
|
export function deleteBackup(id) {
|
|
|
|
return request({ method: "delete", url: `/portal/deletebackup/${id}` });
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getBackupHistory() {
|
|
|
|
return request({ method: "get", url: "/portal/getbackuphistory" });
|
|
|
|
}
|
|
|
|
|
|
|
|
export function startRestore(backupId, storageType, storageParams, notify) {
|
|
|
|
return request({
|
|
|
|
method: "post",
|
|
|
|
url: `/portal/startrestore`,
|
|
|
|
data: {
|
|
|
|
backupId,
|
|
|
|
storageType,
|
|
|
|
storageParams: storageParams,
|
|
|
|
notify,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getRestoreProgress() {
|
|
|
|
return request({ method: "get", url: "/portal/getrestoreprogress" });
|
|
|
|
}
|
|
|
|
|
|
|
|
export function enableRestore() {
|
|
|
|
return request({ method: "get", url: "/portal/enablerestore" });
|
|
|
|
}
|
|
|
|
|
|
|
|
export function enableAutoBackup() {
|
|
|
|
return request({ method: "get", url: "/portal/enableAutoBackup" });
|
|
|
|
}
|
|
|
|
|
2022-03-02 08:06:08 +00:00
|
|
|
export function setPortalRename(alias) {
|
|
|
|
return request({
|
|
|
|
method: "put",
|
|
|
|
url: "/portal/portalrename.json",
|
|
|
|
data: { alias },
|
|
|
|
});
|
|
|
|
}
|
2022-05-03 18:28:13 +00:00
|
|
|
|
|
|
|
export function sendSuspendPortalEmail() {
|
|
|
|
return request({
|
|
|
|
method: "post",
|
|
|
|
url: "/portal/suspend.json",
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
export function sendDeletePortalEmail() {
|
|
|
|
return request({
|
|
|
|
method: "post",
|
|
|
|
url: "/portal/delete.json",
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2022-08-01 10:17:43 +00:00
|
|
|
export function suspendPortal(confirmKey = null) {
|
|
|
|
const options = {
|
2022-05-03 18:28:13 +00:00
|
|
|
method: "put",
|
|
|
|
url: "/portal/suspend.json",
|
2022-08-01 10:17:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
if (confirmKey) options.headers = { confirm: confirmKey };
|
|
|
|
|
|
|
|
return request(options);
|
2022-05-03 18:28:13 +00:00
|
|
|
}
|
|
|
|
|
2022-08-01 10:17:43 +00:00
|
|
|
export function continuePortal(confirmKey = null) {
|
|
|
|
const options = {
|
2022-05-03 18:28:13 +00:00
|
|
|
method: "put",
|
|
|
|
url: "/portal/continue.json",
|
2022-08-01 10:17:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
if (confirmKey) options.headers = { confirm: confirmKey };
|
|
|
|
|
|
|
|
return request(options);
|
2022-05-03 18:28:13 +00:00
|
|
|
}
|
|
|
|
|
2022-08-01 10:17:43 +00:00
|
|
|
export function deletePortal(confirmKey = null) {
|
|
|
|
const options = {
|
2022-05-03 18:28:13 +00:00
|
|
|
method: "delete",
|
|
|
|
url: "/portal/delete.json",
|
2022-08-01 10:17:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
if (confirmKey) options.headers = { confirm: confirmKey };
|
|
|
|
|
|
|
|
return request(options);
|
2022-10-15 09:00:55 +00:00
|
|
|
}
|
2022-10-15 08:43:10 +00:00
|
|
|
|
2022-09-05 10:17:44 +00:00
|
|
|
export function getPortalPaymentQuotas() {
|
|
|
|
return request({ method: "get", url: "/portal/payment/quotas" });
|
2022-08-18 08:29:49 +00:00
|
|
|
}
|
2022-08-18 09:28:17 +00:00
|
|
|
|
|
|
|
export function getPortalQuota() {
|
2022-09-14 06:55:22 +00:00
|
|
|
return request({ method: "get", url: "/portal/payment/quota" });
|
2022-08-18 09:28:17 +00:00
|
|
|
}
|
2022-08-18 10:47:33 +00:00
|
|
|
|
|
|
|
export function getPortalTariff() {
|
|
|
|
return request({ method: "get", url: "/portal/tariff" });
|
|
|
|
}
|
2022-08-18 15:44:56 +00:00
|
|
|
|
|
|
|
export function getPaymentAccount() {
|
|
|
|
return request({ method: "get", url: "/portal/payment/account" });
|
|
|
|
}
|
2022-08-19 15:11:54 +00:00
|
|
|
|
|
|
|
export function getPaymentLink(adminCount, currency) {
|
|
|
|
return request({
|
|
|
|
method: "put",
|
|
|
|
url: `/portal/payment/url`,
|
|
|
|
data: {
|
2022-08-23 08:51:50 +00:00
|
|
|
quantity: { admin: adminCount },
|
2022-08-19 15:11:54 +00:00
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
export function updatePayment(adminCount) {
|
|
|
|
return request({
|
|
|
|
method: "put",
|
2022-08-23 08:51:50 +00:00
|
|
|
url: `/portal/payment/update`,
|
2022-08-19 15:11:54 +00:00
|
|
|
data: {
|
|
|
|
quantity: { admin: adminCount },
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
2022-08-29 14:46:43 +00:00
|
|
|
|
|
|
|
export function getCurrencies() {
|
|
|
|
return request({ method: "get", url: "/portal/payment/currencies" });
|
|
|
|
}
|
2022-08-30 13:29:53 +00:00
|
|
|
|
|
|
|
export function getPaymentTariff() {
|
2022-09-05 10:17:44 +00:00
|
|
|
return request({ method: "get", url: "/portal/payment/tariff" });
|
2022-08-30 13:29:53 +00:00
|
|
|
}
|
2022-09-05 10:48:32 +00:00
|
|
|
|
|
|
|
export function sendPaymentRequest(email, userName, message) {
|
|
|
|
return request({
|
|
|
|
method: "post",
|
|
|
|
url: `/portal/payment/request `,
|
|
|
|
data: {
|
|
|
|
email,
|
|
|
|
userName,
|
|
|
|
message,
|
|
|
|
},
|
2022-10-15 09:00:55 +00:00
|
|
|
})};
|