Add user edit/new dialog
This commit is contained in:
@@ -31,6 +31,40 @@ function create() {
|
||||
|
||||
return [null, users];
|
||||
},
|
||||
async add(user) {
|
||||
const data = {
|
||||
email: user.email,
|
||||
fallbackEmail: user.fallbackEmail,
|
||||
displayName: user.displayName,
|
||||
role: user.role
|
||||
};
|
||||
|
||||
if (user.username) data.username = user.username;
|
||||
if (user.password) data.password = user.password;
|
||||
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.post(`${origin}/api/v1/users`, data, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 201) return [result];
|
||||
|
||||
return [null, result.body];
|
||||
},
|
||||
async update(id, data) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.post(`${origin}/api/v1/users/${id}/profile`, data, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 204) return [result];
|
||||
|
||||
return [null];
|
||||
},
|
||||
async remove(id) {
|
||||
let result;
|
||||
try {
|
||||
@@ -42,6 +76,39 @@ function create() {
|
||||
if (result.status !== 204) return [result];
|
||||
return [null];
|
||||
},
|
||||
async setLocalGroups(id, groupIds) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.put(`${origin}/api/v1/users/${id}/groups`, { groupIds }, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 204) return [result];
|
||||
return [null];
|
||||
},
|
||||
async setRole(id, role) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.put(`${origin}/api/v1/users/${id}/role`, { role }, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 204) return [result];
|
||||
return [null];
|
||||
},
|
||||
async setActive(id, active) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.put(`${origin}/api/v1/users/${id}/active`, { active }, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 204) return [result];
|
||||
return [null];
|
||||
},
|
||||
async setGhost(id, password, expiresAt = 0) {
|
||||
const data = { password };
|
||||
|
||||
@@ -76,6 +143,17 @@ function create() {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 202) return [result];
|
||||
return [null];
|
||||
},
|
||||
async sendInviteEmail(id, email) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.post(`${origin}/api/v1/users/${id}/send_invite_email`, { email }, { access_token: accessToken });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 202) return [result];
|
||||
return [null];
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user