2022-02-13 23:39:27 +08:00
|
|
|
// Copyright 2021 The Casdoor Authors. All Rights Reserved.
|
2021-02-13 13:30:51 +08:00
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
2021-02-13 12:15:19 +08:00
|
|
|
import * as Setting from "../Setting";
|
2021-05-22 20:57:55 +08:00
|
|
|
import i18next from "i18next";
|
2021-02-13 12:15:19 +08:00
|
|
|
|
2021-12-25 10:55:10 +08:00
|
|
|
export function getGlobalUsers(page, pageSize, field = "", value = "", sortField = "", sortOrder = "") {
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/get-global-users?p=${page}&pageSize=${pageSize}&field=${field}&value=${value}&sortField=${sortField}&sortOrder=${sortOrder}`, {
|
2021-02-13 12:15:19 +08:00
|
|
|
method: "GET",
|
2022-08-06 23:54:56 +08:00
|
|
|
credentials: "include",
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
2021-12-25 10:55:10 +08:00
|
|
|
export function getUsers(owner, page = "", pageSize = "", field = "", value = "", sortField = "", sortOrder = "") {
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/get-users?owner=${owner}&p=${page}&pageSize=${pageSize}&field=${field}&value=${value}&sortField=${sortField}&sortOrder=${sortOrder}`, {
|
2021-02-13 12:15:19 +08:00
|
|
|
method: "GET",
|
2022-08-06 23:54:56 +08:00
|
|
|
credentials: "include",
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getUser(owner, name) {
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/get-user?id=${owner}/${encodeURIComponent(name)}`, {
|
|
|
|
method: "GET",
|
2022-08-06 23:54:56 +08:00
|
|
|
credentials: "include",
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
export function updateUser(owner, name, user) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const newUser = Setting.deepCopy(user);
|
2021-02-13 12:15:19 +08:00
|
|
|
return fetch(`${Setting.ServerUrl}/api/update-user?id=${owner}/${encodeURIComponent(name)}`, {
|
2022-07-10 15:45:55 +08:00
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2021-02-13 12:15:19 +08:00
|
|
|
body: JSON.stringify(newUser),
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
export function addUser(user) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const newUser = Setting.deepCopy(user);
|
2021-02-13 12:15:19 +08:00
|
|
|
return fetch(`${Setting.ServerUrl}/api/add-user`, {
|
2022-07-10 15:45:55 +08:00
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2021-02-13 12:15:19 +08:00
|
|
|
body: JSON.stringify(newUser),
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
export function deleteUser(user) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const newUser = Setting.deepCopy(user);
|
2021-02-13 12:15:19 +08:00
|
|
|
return fetch(`${Setting.ServerUrl}/api/delete-user`, {
|
2022-07-10 15:45:55 +08:00
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2021-02-13 12:15:19 +08:00
|
|
|
body: JSON.stringify(newUser),
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-02-13 12:15:19 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
2021-03-14 15:50:36 +08:00
|
|
|
|
2021-06-04 20:47:27 +08:00
|
|
|
export function getAddressOptions(url) {
|
|
|
|
return fetch(url, {
|
|
|
|
method: "GET",
|
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getAffiliationOptions(url, code) {
|
|
|
|
return fetch(`${url}/${code}`, {
|
|
|
|
method: "GET",
|
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
|
|
|
|
2021-05-09 19:54:20 +08:00
|
|
|
export function setPassword(userOwner, userName, oldPassword, newPassword) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const formData = new FormData();
|
2021-05-09 19:54:20 +08:00
|
|
|
formData.append("userOwner", userOwner);
|
|
|
|
formData.append("userName", userName);
|
|
|
|
formData.append("oldPassword", oldPassword);
|
|
|
|
formData.append("newPassword", newPassword);
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/set-password`, {
|
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2022-08-06 23:54:56 +08:00
|
|
|
body: formData,
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-05-09 19:54:20 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
2021-05-12 21:38:31 +08:00
|
|
|
|
2022-12-11 15:52:36 +08:00
|
|
|
export function sendCode(checkType, checkId, checkKey, method, dest, type, applicationId, checkUser) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const formData = new FormData();
|
2021-05-22 20:57:55 +08:00
|
|
|
formData.append("checkType", checkType);
|
|
|
|
formData.append("checkId", checkId);
|
|
|
|
formData.append("checkKey", checkKey);
|
2022-12-11 15:52:36 +08:00
|
|
|
formData.append("method", method);
|
2021-05-12 21:38:31 +08:00
|
|
|
formData.append("dest", dest);
|
|
|
|
formData.append("type", type);
|
2022-07-10 00:40:52 +08:00
|
|
|
formData.append("applicationId", applicationId);
|
2021-12-07 00:05:53 +08:00
|
|
|
formData.append("checkUser", checkUser);
|
2021-05-12 21:38:31 +08:00
|
|
|
return fetch(`${Setting.ServerUrl}/api/send-verification-code`, {
|
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2022-08-06 23:54:56 +08:00
|
|
|
body: formData,
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-05-22 20:57:55 +08:00
|
|
|
}).then(res => res.json()).then(res => {
|
|
|
|
if (res.status === "ok") {
|
|
|
|
Setting.showMessage("success", i18next.t("user:Code Sent"));
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
Setting.showMessage("error", i18next.t("user:" + res.msg));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
2021-05-12 21:38:31 +08:00
|
|
|
}
|
|
|
|
|
2022-06-18 16:00:31 +08:00
|
|
|
export function verifyCaptcha(captchaType, captchaToken, clientSecret) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const formData = new FormData();
|
2022-06-18 16:00:31 +08:00
|
|
|
formData.append("captchaType", captchaType);
|
|
|
|
formData.append("captchaToken", captchaToken);
|
|
|
|
formData.append("clientSecret", clientSecret);
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/verify-captcha`, {
|
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2022-08-06 23:54:56 +08:00
|
|
|
body: formData,
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2022-06-18 16:00:31 +08:00
|
|
|
}).then(res => res.json()).then(res => {
|
|
|
|
if (res.status === "ok") {
|
|
|
|
if (res.data) {
|
|
|
|
Setting.showMessage("success", i18next.t("user:Captcha Verify Success"));
|
|
|
|
} else {
|
|
|
|
Setting.showMessage("error", i18next.t("user:Captcha Verify Failed"));
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
Setting.showMessage("error", i18next.t("user:" + res.msg));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2021-05-12 21:38:31 +08:00
|
|
|
export function resetEmailOrPhone(dest, type, code) {
|
2022-08-08 23:35:24 +08:00
|
|
|
const formData = new FormData();
|
2021-05-12 21:38:31 +08:00
|
|
|
formData.append("dest", dest);
|
|
|
|
formData.append("type", type);
|
|
|
|
formData.append("code", code);
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/reset-email-or-phone`, {
|
|
|
|
method: "POST",
|
|
|
|
credentials: "include",
|
2022-08-06 23:54:56 +08:00
|
|
|
body: formData,
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2021-05-12 21:38:31 +08:00
|
|
|
}).then(res => res.json());
|
|
|
|
}
|
2021-05-22 20:57:55 +08:00
|
|
|
|
2022-06-18 16:00:31 +08:00
|
|
|
export function getCaptcha(owner, name, isCurrentProvider) {
|
|
|
|
return fetch(`${Setting.ServerUrl}/api/get-captcha?applicationId=${owner}/${encodeURIComponent(name)}&isCurrentProvider=${isCurrentProvider}`, {
|
2022-08-06 23:54:56 +08:00
|
|
|
method: "GET",
|
2022-10-23 15:16:24 +08:00
|
|
|
headers: {
|
|
|
|
"Accept-Language": Setting.getAcceptLanguage(),
|
|
|
|
},
|
2022-06-18 16:00:31 +08:00
|
|
|
}).then(res => res.json()).then(res => res.data);
|
2021-05-22 20:57:55 +08:00
|
|
|
}
|