From c6c6cfe04b404c030a7691264d4e2e1629e810b1 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sun, 24 May 2026 11:17:47 +0200 Subject: [PATCH] feat(communication): housekeeping set-rank + trade-lock + reset-password composers Three composers closing out the users-domain HK actions: * OutgoingHeader 9107 HousekeepingSetUserRankComposer (userId, rankId) * OutgoingHeader 9108 HousekeepingTradeLockUserComposer (userId, hours, reason) * OutgoingHeader 9109 HousekeepingResetUserPasswordComposer (userId) All three ride the existing HousekeepingActionResultEvent for the ack. --- packages/communication/src/NitroMessages.ts | 5 ++++- .../src/messages/outgoing/OutgoingHeader.ts | 3 +++ .../HousekeepingResetUserPasswordComposer.ts | 21 +++++++++++++++++++ .../HousekeepingSetUserRankComposer.ts | 21 +++++++++++++++++++ .../HousekeepingTradeLockUserComposer.ts | 21 +++++++++++++++++++ .../messages/outgoing/housekeeping/index.ts | 3 +++ 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/communication/src/messages/outgoing/housekeeping/HousekeepingResetUserPasswordComposer.ts create mode 100644 packages/communication/src/messages/outgoing/housekeeping/HousekeepingSetUserRankComposer.ts create mode 100644 packages/communication/src/messages/outgoing/housekeeping/HousekeepingTradeLockUserComposer.ts diff --git a/packages/communication/src/NitroMessages.ts b/packages/communication/src/NitroMessages.ts index b9759a3..0a6abc5 100644 --- a/packages/communication/src/NitroMessages.ts +++ b/packages/communication/src/NitroMessages.ts @@ -7,7 +7,7 @@ import { ConfInvisStateMessageEvent } from './messages'; import { HanditemBlockStateMessageEvent } from './messages'; import { TranslationLanguagesEvent, TranslationLanguagesRequestComposer, TranslationResultEvent, TranslationTextRequestComposer } from './messages'; import { YouTubeRoomBroadcastEvent, YouTubeRoomPlayComposer, YouTubeRoomSettingsComposer, YouTubeRoomSettingsEvent, YouTubeRoomWatchersEvent, YouTubeRoomWatchingComposer } from './messages'; -import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingForceDisconnectUserComposer, HousekeepingKickUserComposer, HousekeepingMuteUserComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages'; +import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingForceDisconnectUserComposer, HousekeepingKickUserComposer, HousekeepingMuteUserComposer, HousekeepingResetUserPasswordComposer, HousekeepingSetUserRankComposer, HousekeepingTradeLockUserComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages'; export class NitroMessages implements IMessageConfiguration { private _events: Map; @@ -1269,6 +1269,9 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.HOUSEKEEPING_MUTE_USER, HousekeepingMuteUserComposer); this._composers.set(OutgoingHeader.HOUSEKEEPING_KICK_USER, HousekeepingKickUserComposer); this._composers.set(OutgoingHeader.HOUSEKEEPING_FORCE_DISCONNECT_USER, HousekeepingForceDisconnectUserComposer); + this._composers.set(OutgoingHeader.HOUSEKEEPING_SET_USER_RANK, HousekeepingSetUserRankComposer); + this._composers.set(OutgoingHeader.HOUSEKEEPING_TRADE_LOCK_USER, HousekeepingTradeLockUserComposer); + this._composers.set(OutgoingHeader.HOUSEKEEPING_RESET_USER_PASSWORD, HousekeepingResetUserPasswordComposer); } public get events(): Map diff --git a/packages/communication/src/messages/outgoing/OutgoingHeader.ts b/packages/communication/src/messages/outgoing/OutgoingHeader.ts index 81176ea..ee7e229 100644 --- a/packages/communication/src/messages/outgoing/OutgoingHeader.ts +++ b/packages/communication/src/messages/outgoing/OutgoingHeader.ts @@ -531,4 +531,7 @@ export class OutgoingHeader public static HOUSEKEEPING_MUTE_USER = 9104; public static HOUSEKEEPING_KICK_USER = 9105; public static HOUSEKEEPING_FORCE_DISCONNECT_USER = 9106; + public static HOUSEKEEPING_SET_USER_RANK = 9107; + public static HOUSEKEEPING_TRADE_LOCK_USER = 9108; + public static HOUSEKEEPING_RESET_USER_PASSWORD = 9109; } diff --git a/packages/communication/src/messages/outgoing/housekeeping/HousekeepingResetUserPasswordComposer.ts b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingResetUserPasswordComposer.ts new file mode 100644 index 0000000..f7a0bb8 --- /dev/null +++ b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingResetUserPasswordComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '@nitrots/api'; + +export class HousekeepingResetUserPasswordComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(userId: number) + { + this._data = [userId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/packages/communication/src/messages/outgoing/housekeeping/HousekeepingSetUserRankComposer.ts b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingSetUserRankComposer.ts new file mode 100644 index 0000000..5b2fe5c --- /dev/null +++ b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingSetUserRankComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '@nitrots/api'; + +export class HousekeepingSetUserRankComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(userId: number, rankId: number) + { + this._data = [userId, rankId]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/packages/communication/src/messages/outgoing/housekeeping/HousekeepingTradeLockUserComposer.ts b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingTradeLockUserComposer.ts new file mode 100644 index 0000000..244f660 --- /dev/null +++ b/packages/communication/src/messages/outgoing/housekeeping/HousekeepingTradeLockUserComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '@nitrots/api'; + +export class HousekeepingTradeLockUserComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(userId: number, hours: number, reason: string) + { + this._data = [userId, hours, reason]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/packages/communication/src/messages/outgoing/housekeeping/index.ts b/packages/communication/src/messages/outgoing/housekeeping/index.ts index 2c9022b..d70d508 100644 --- a/packages/communication/src/messages/outgoing/housekeeping/index.ts +++ b/packages/communication/src/messages/outgoing/housekeeping/index.ts @@ -4,4 +4,7 @@ export * from './HousekeepingFindUserByNameComposer'; export * from './HousekeepingForceDisconnectUserComposer'; export * from './HousekeepingKickUserComposer'; export * from './HousekeepingMuteUserComposer'; +export * from './HousekeepingResetUserPasswordComposer'; +export * from './HousekeepingSetUserRankComposer'; +export * from './HousekeepingTradeLockUserComposer'; export * from './HousekeepingUnbanUserComposer';