mirror of
https://github.com/stoatchat/javascript-client-sdk.git
synced 2026-07-21 04:25:27 -04:00
API: Edit role.
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "revolt.js",
|
||||
"version": "4.3.3-alpha.14",
|
||||
"version": "4.3.3-alpha.15",
|
||||
"main": "dist/index.js",
|
||||
"repository": "https://gitlab.insrt.uk/revolt/revolt.js",
|
||||
"author": "Paul Makles <insrt.uk>",
|
||||
|
||||
@@ -28,8 +28,8 @@ export const ServerPermission = {
|
||||
BanMembers: 0b00000000000000000000000000100000, // 32
|
||||
ChangeNickname: 0b00000000000000000001000000000000, // 4096
|
||||
ManageNicknames: 0b00000000000000000010000000000000, // 8192
|
||||
ChangeAvatar: 0b00000000000000000100000000000000, // 16392
|
||||
RemoveAvatars: 0b00000000000000001000000000000000, // 32784
|
||||
ChangeAvatar: 0b00000000000000000100000000000000, // 16382
|
||||
RemoveAvatars: 0b00000000000000001000000000000000, // 32768
|
||||
}
|
||||
|
||||
const U32_MAX = 2**32 - 1; // 4294967295
|
||||
|
||||
@@ -4,6 +4,7 @@ export type RemoveUserField = 'ProfileContent' | 'ProfileBackground' | 'StatusTe
|
||||
export type RemoveChannelField = 'Icon' | 'Description';
|
||||
export type RemoveServerField = 'Icon' | 'Banner' | 'Description';
|
||||
export type RemoveMemberField = 'Nickname' | 'Avatar';
|
||||
export type RemoveRoleField = 'Colour';
|
||||
|
||||
type Id = 'id';
|
||||
type Routes =
|
||||
@@ -585,6 +586,17 @@ type Routes =
|
||||
permissions: Servers.PermissionTuple
|
||||
}
|
||||
}
|
||||
| {
|
||||
// Edit a role.
|
||||
method: 'PATCH',
|
||||
route: `/servers/${Id}/roles/${Id}`,
|
||||
data: {
|
||||
name?: string,
|
||||
colour?: string,
|
||||
remove?: RemoveRoleField
|
||||
},
|
||||
response: undefined
|
||||
}
|
||||
| {
|
||||
// Delete role
|
||||
method: 'DELETE',
|
||||
|
||||
@@ -161,6 +161,18 @@ export default class Servers extends Collection<Server> {
|
||||
return await this.client.req('POST', `/servers/${id}/roles` as '/servers/id/roles', { name });
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit a role
|
||||
* @param id ID of the target server
|
||||
* @param role_id Role ID
|
||||
* @param data Role editing route data
|
||||
*/
|
||||
async editRole(id: string, role_id: string, data: Route<'PATCH', '/servers/id/roles/id'>["data"]) {
|
||||
let server = this.getThrow(id);
|
||||
if (typeof server.roles?.[role_id] === 'undefined') return;
|
||||
await this.client.req('PATCH', `/servers/${id}/roles/${role_id}` as '/servers/id/roles/id', data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete role
|
||||
* @param id Server ID
|
||||
|
||||
Reference in New Issue
Block a user