summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-11-22 19:43:16 +0100
committerRory& <root@rory.gay>2025-11-22 19:43:16 +0100
commit592d68379b054bafccf8cd5d9b2c837c5c9c5cbb (patch)
tree4bdef9f531bdd4fa722f26c83c05ef34517ad964
parentgateway: expose self rights on ready, maybe? (diff)
downloadserver-ts-592d68379b054bafccf8cd5d9b2c837c5c9c5cbb.tar.xz
add extraFields optional param on toPrivateUser, expose rights on READY
-rw-r--r--src/gateway/opcodes/Identify.ts2
-rw-r--r--src/util/entities/User.ts4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts

index e037a18a..b1ab76fa 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts
@@ -519,7 +519,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { const d: ReadyEventData = { v: 9, application: application ? { id: application.id, flags: application.flags } : undefined, - user: user.toPrivateUser(), + user: user.toPrivateUser(["rights"]), user_settings: user.settings, user_settings_proto: settingsProtos?.userSettings ? PreloadedUserSettings.toBase64(settingsProtos.userSettings) : undefined, user_settings_proto_json: settingsProtos?.userSettings ? PreloadedUserSettings.toJson(settingsProtos.userSettings) : undefined, diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts
index 5ee63352..4343aaf4 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts
@@ -197,10 +197,10 @@ export class User extends BaseClass { return user as PublicUser; } - toPrivateUser() { + toPrivateUser(extraFields: (keyof User)[] = []) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const user: any = {}; - PrivateUserProjection.forEach((x) => { + [...PrivateUserProjection, ...extraFields].forEach((x) => { user[x] = this[x]; }); return user as UserPrivate;