Add basic subuser listing for servers
This commit is contained in:
parent
de464d35a2
commit
543884876f
14 changed files with 310 additions and 4 deletions
21
resources/scripts/api/server/users/getServerSubusers.ts
Normal file
21
resources/scripts/api/server/users/getServerSubusers.ts
Normal file
|
@ -0,0 +1,21 @@
|
|||
import http, { FractalResponseData } from '@/api/http';
|
||||
import { Subuser } from '@/state/server/subusers';
|
||||
|
||||
export const rawDataToServerSubuser = (data: FractalResponseData): Subuser => ({
|
||||
uuid: data.attributes.uuid,
|
||||
username: data.attributes.username,
|
||||
email: data.attributes.email,
|
||||
image: data.attributes.image,
|
||||
twoFactorEnabled: data.attributes['2fa_enabled'],
|
||||
createdAt: new Date(data.attributes.created_at),
|
||||
permissions: data.attributes.relationships!.permissions.attributes.permissions,
|
||||
can: permission => data.attributes.relationships!.permissions.attributes.permissions.indexOf(permission) >= 0,
|
||||
});
|
||||
|
||||
export default (uuid: string): Promise<Subuser[]> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
http.get(`/api/client/servers/${uuid}/users`, { params: { include: [ 'permissions' ] } })
|
||||
.then(({ data }) => resolve((data.data || []).map(rawDataToServerSubuser)))
|
||||
.catch(reject);
|
||||
});
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue