251 lines
5.2 KiB
JavaScript
251 lines
5.2 KiB
JavaScript
import { request } from "../client";
|
|
//import axios from "axios";
|
|
import Filter from "./filter";
|
|
import * as fakePeople from "./fake";
|
|
|
|
export function getUserList(filter = Filter.getDefault(), fake = false) {
|
|
if (fake) {
|
|
return fakePeople.getUserList(filter);
|
|
}
|
|
|
|
const params =
|
|
filter && filter instanceof Filter
|
|
? `/filter.json?${filter.toApiUrlParams(
|
|
"id,status,isAdmin,isOwner,isVisitor,activationStatus,userName,email,mobilePhone,displayName,avatar,listAdminModules,birthday,title,location,isLDAP,isSSO,groups"
|
|
)}`
|
|
: "";
|
|
|
|
return request({
|
|
method: "get",
|
|
url: `/people${params}`,
|
|
});
|
|
}
|
|
|
|
export function getUser(userName = null) {
|
|
return request({
|
|
method: "get",
|
|
url: `/people/${userName || "@self"}.json`,
|
|
});
|
|
}
|
|
export function getUserPhoto(userId) {
|
|
return request({
|
|
method: "get",
|
|
url: `/people/${userId}/photo`,
|
|
});
|
|
}
|
|
|
|
export function createUser(data, confirmKey = null) {
|
|
const options = {
|
|
method: "post",
|
|
url: "/people",
|
|
data: data,
|
|
};
|
|
|
|
if (confirmKey) options.headers = { confirm: confirmKey };
|
|
|
|
return request(options);
|
|
}
|
|
|
|
export function changePassword(userId, passwordHash, key) {
|
|
const data = { passwordHash };
|
|
|
|
return request({
|
|
method: "put",
|
|
url: `/people/${userId}/password`,
|
|
data,
|
|
headers: { confirm: key },
|
|
});
|
|
}
|
|
|
|
export function changeEmail(userId, email, key) {
|
|
const data = { email };
|
|
|
|
return request({
|
|
method: "put",
|
|
url: `/people/${userId}/password`,
|
|
data,
|
|
headers: { confirm: key },
|
|
});
|
|
}
|
|
export function updateActivationStatus(activationStatus, userId, key) {
|
|
return request({
|
|
method: "put",
|
|
url: `/people/activationstatus/${activationStatus}.json`,
|
|
data: { userIds: [userId] },
|
|
headers: { confirm: key },
|
|
});
|
|
}
|
|
|
|
export function updateUser(data) {
|
|
return request({
|
|
method: "put",
|
|
url: `/people/${data.id}`,
|
|
data,
|
|
});
|
|
}
|
|
|
|
export function deleteSelf(key) {
|
|
return request({
|
|
method: "delete",
|
|
url: "/people/@self",
|
|
headers: { confirm: key },
|
|
});
|
|
}
|
|
|
|
export function sendInstructionsToChangePassword(email) {
|
|
return request({
|
|
method: "post",
|
|
url: "/people/password.json",
|
|
data: { email },
|
|
});
|
|
}
|
|
|
|
export function getListAdmins(filter = Filter.getDefault()) {
|
|
const filterParams = filter.toApiUrlParams(
|
|
"fields=id,displayName,groups,name,avatar,avatarSmall,isOwner,isAdmin,profileUrl,listAdminModules"
|
|
);
|
|
|
|
return request({
|
|
method: "get",
|
|
url: `/people/filter.json?${filterParams}`,
|
|
});
|
|
}
|
|
|
|
export function getAdmins(isParams) {
|
|
let params = "&fields";
|
|
if (isParams) {
|
|
params =
|
|
"fields=id,displayName,groups,name,avatar,avatarSmall,isOwner,isAdmin,profileUrl,listAdminModules";
|
|
}
|
|
return request({
|
|
method: "get",
|
|
url: `/people/filter.json?isadministrator=true&${params}`,
|
|
});
|
|
}
|
|
|
|
export function changeProductAdmin(userId, productId, administrator) {
|
|
return request({
|
|
method: "put",
|
|
url: "/settings/security/administrator",
|
|
data: {
|
|
productId,
|
|
userId,
|
|
administrator,
|
|
},
|
|
});
|
|
}
|
|
|
|
export function getUserById(userId) {
|
|
return request({
|
|
method: "get",
|
|
url: `/people/${userId}`,
|
|
});
|
|
}
|
|
|
|
export function resendUserInvites(userIds) {
|
|
return request({
|
|
method: "put",
|
|
url: "/people/invite",
|
|
data: { userIds },
|
|
});
|
|
}
|
|
|
|
export function updateUserCulture(id, cultureName) {
|
|
return request({
|
|
method: "put",
|
|
url: `/people/${id}/culture`,
|
|
data: { cultureName },
|
|
});
|
|
}
|
|
|
|
export function loadAvatar(profileId, data) {
|
|
return request({
|
|
method: "post",
|
|
url: `/people/${profileId}/photo`,
|
|
data,
|
|
});
|
|
}
|
|
|
|
export function createThumbnailsAvatar(profileId, data) {
|
|
return request({
|
|
method: "post",
|
|
url: `/people/${profileId}/photo/thumbnails.json`,
|
|
data,
|
|
});
|
|
}
|
|
|
|
export function deleteAvatar(profileId) {
|
|
return request({
|
|
method: "delete",
|
|
url: `/people/${profileId}/photo`,
|
|
});
|
|
}
|
|
|
|
export function updateUserStatus(status, userIds) {
|
|
return request({
|
|
method: "put",
|
|
url: `/people/status/${status}`,
|
|
data: { userIds },
|
|
});
|
|
}
|
|
|
|
export function updateUserType(type, userIds) {
|
|
return request({
|
|
method: "put",
|
|
url: `/people/type/${type}`,
|
|
data: { userIds },
|
|
});
|
|
}
|
|
|
|
export function thirdPartyLinkAccount(SerializedProfile) {
|
|
return request({
|
|
method: "put",
|
|
url: "people/thirdparty/linkaccount.json",
|
|
data: { SerializedProfile },
|
|
});
|
|
}
|
|
|
|
export function thirdPartyUnlinkAccount(provider) {
|
|
return request({
|
|
method: "delete",
|
|
url: `people/thirdparty/unlinkaccount.json?provider=${provider}`,
|
|
});
|
|
}
|
|
|
|
export function sendInstructionsToDelete() {
|
|
return request({
|
|
method: "put",
|
|
url: "/people/self/delete.json",
|
|
});
|
|
}
|
|
|
|
export function sendInstructionsToChangeEmail(userId, email) {
|
|
return request({
|
|
method: "post",
|
|
url: "/people/email.json",
|
|
data: { userId, email },
|
|
});
|
|
}
|
|
|
|
export function deleteUser(userId) {
|
|
return request({
|
|
method: "delete",
|
|
url: `/people/${userId}.json`,
|
|
});
|
|
}
|
|
|
|
export function deleteUsers(userIds) {
|
|
return request({
|
|
method: "put",
|
|
url: "/people/delete.json",
|
|
data: { userIds },
|
|
});
|
|
}
|
|
|
|
export function getSelectorUserList() {
|
|
return request({
|
|
method: "get",
|
|
url: "/people/filter.json?fields=id,displayName,groups",
|
|
});
|
|
}
|