Add hoist flag for sidebar member grouping
Custom roles can hoist members into separate list sections when enabled in server settings. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -36,7 +36,7 @@ Let servers define up to 24 named colored roles with Discord-style permission fl
|
||||
|
||||
| Method | Role |
|
||||
|--------|------|
|
||||
| `listRoles` / `getRole` / `createRole` / `updateRole` / `deleteRole` / `reorderRoles` | Role CRUD + position reorder |
|
||||
| `listRoles` / `getRole` / `createRole` / `updateRole` / `deleteRole` / `reorderRoles` | Role CRUD + position reorder; `hoist` displays members separately in sidebar (v0.8.171) |
|
||||
| `getMemberRoleIds` / `setMemberRoleIds` | Member links |
|
||||
| `attachCustomRolesToMembers` | Enrich member list |
|
||||
| `resolvePermissions(member, customRoles)` | View object for UI |
|
||||
|
||||
@@ -73,7 +73,7 @@ class PearcordGuildRoles {
|
||||
return this.store.get(ROLES_COLLECTION, { guildId: gid, id: roleId })
|
||||
}
|
||||
|
||||
async createRole (guildId, { name, color, permissions, position } = {}) {
|
||||
async createRole (guildId, { name, color, permissions, position, hoist } = {}) {
|
||||
const gid = this._guildKey(guildId)
|
||||
if (!gid) throw new Error('guildId required')
|
||||
const rows = await this.listRoles(gid)
|
||||
@@ -90,6 +90,7 @@ class PearcordGuildRoles {
|
||||
color: normalizeColor(color),
|
||||
permissions: normalizePermissionsMask(permissions),
|
||||
position: Number.isFinite(position) ? position : rows.length,
|
||||
hoist: !!hoist,
|
||||
createdAt: now()
|
||||
}
|
||||
await this.store.insert(ROLES_COLLECTION, row)
|
||||
@@ -115,6 +116,7 @@ class PearcordGuildRoles {
|
||||
row.permissions = normalizePermissionsMask(patch.permissions)
|
||||
}
|
||||
if (patch.position !== undefined) row.position = Number(patch.position) || 0
|
||||
if (patch.hoist !== undefined) row.hoist = !!patch.hoist
|
||||
row.updatedAt = now()
|
||||
await this.store.insert(ROLES_COLLECTION, row)
|
||||
return row
|
||||
|
||||
Reference in New Issue
Block a user