🆙 Fix the Admin Catalogue stuff

This commit is contained in:
duckietm
2026-06-05 14:25:47 +02:00
parent becf654c9e
commit d61a07e1e7
13 changed files with 194 additions and 2 deletions
File diff suppressed because one or more lines are too long
@@ -496,6 +496,8 @@ export class IncomingHeader
// Catalog Admin // Catalog Admin
public static CATALOG_ADMIN_RESULT = 10059; public static CATALOG_ADMIN_RESULT = 10059;
public static CATALOG_ADMIN_OFFER_DETAILS = 10062;
public static CATALOG_ADMIN_PAGE_DETAILS = 10063;
// Custom Prefixes // Custom Prefixes
public static USER_PREFIXES = 7001; public static USER_PREFIXES = 7001;
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogAdminOfferDetailsMessageParser } from '../../parser';
export class CatalogAdminOfferDetailsEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogAdminOfferDetailsMessageParser);
}
public getParser(): CatalogAdminOfferDetailsMessageParser
{
return this.parser as CatalogAdminOfferDetailsMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogAdminPageDetailsMessageParser } from '../../parser';
export class CatalogAdminPageDetailsEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogAdminPageDetailsMessageParser);
}
public getParser(): CatalogAdminPageDetailsMessageParser
{
return this.parser as CatalogAdminPageDetailsMessageParser;
}
}
@@ -1,4 +1,6 @@
export * from './BonusRareInfoMessageEvent'; export * from './BonusRareInfoMessageEvent';
export * from './CatalogAdminOfferDetailsEvent';
export * from './CatalogAdminPageDetailsEvent';
export * from './CatalogAdminResultEvent'; export * from './CatalogAdminResultEvent';
export * from './BuildersClubFurniCountMessageEvent'; export * from './BuildersClubFurniCountMessageEvent';
export * from './BuildersClubSubscriptionStatusMessageEvent'; export * from './BuildersClubSubscriptionStatusMessageEvent';
@@ -507,7 +507,9 @@ export class OutgoingHeader
public static CATALOG_ADMIN_MOVE_OFFER = 10056; public static CATALOG_ADMIN_MOVE_OFFER = 10056;
public static CATALOG_ADMIN_MOVE_PAGE = 10057; public static CATALOG_ADMIN_MOVE_PAGE = 10057;
public static CATALOG_ADMIN_PUBLISH = 10058; public static CATALOG_ADMIN_PUBLISH = 10058;
public static CATALOG_ADMIN_LOAD_OFFER = 10062;
public static CATALOG_ADMIN_LOAD_PAGE = 10063;
public static DELETE_ITEM = 10018; public static DELETE_ITEM = 10018;
public static DELETE_PET = 10030; public static DELETE_PET = 10030;
public static DELETE_BADGE = 10031; public static DELETE_BADGE = 10031;
@@ -0,0 +1,21 @@
import { IMessageComposer } from '@nitrots/api';
export class CatalogAdminLoadOfferComposer implements IMessageComposer<ConstructorParameters<typeof CatalogAdminLoadOfferComposer>>
{
private _data: ConstructorParameters<typeof CatalogAdminLoadOfferComposer>;
constructor(offerId: number, catalogMode: string = 'NORMAL')
{
this._data = [ offerId, catalogMode ];
}
dispose(): void
{
this._data = null;
}
public getMessageArray()
{
return this._data;
}
}
@@ -0,0 +1,21 @@
import { IMessageComposer } from '@nitrots/api';
export class CatalogAdminLoadPageComposer implements IMessageComposer<ConstructorParameters<typeof CatalogAdminLoadPageComposer>>
{
private _data: ConstructorParameters<typeof CatalogAdminLoadPageComposer>;
constructor(pageId: number, catalogMode: string = 'NORMAL')
{
this._data = [ pageId, catalogMode ];
}
dispose(): void
{
this._data = null;
}
public getMessageArray()
{
return this._data;
}
}
@@ -3,6 +3,8 @@ export * from './CatalogAdminCreateOfferComposer';
export * from './CatalogAdminCreatePageComposer'; export * from './CatalogAdminCreatePageComposer';
export * from './CatalogAdminDeleteOfferComposer'; export * from './CatalogAdminDeleteOfferComposer';
export * from './CatalogAdminDeletePageComposer'; export * from './CatalogAdminDeletePageComposer';
export * from './CatalogAdminLoadOfferComposer';
export * from './CatalogAdminLoadPageComposer';
export * from './CatalogAdminMoveOfferComposer'; export * from './CatalogAdminMoveOfferComposer';
export * from './CatalogAdminMovePageComposer'; export * from './CatalogAdminMovePageComposer';
export * from './CatalogAdminPublishComposer'; export * from './CatalogAdminPublishComposer';
@@ -14,6 +16,8 @@ export * from './CatalogAdminCreateOfferComposer';
export * from './CatalogAdminCreatePageComposer'; export * from './CatalogAdminCreatePageComposer';
export * from './CatalogAdminDeleteOfferComposer'; export * from './CatalogAdminDeleteOfferComposer';
export * from './CatalogAdminDeletePageComposer'; export * from './CatalogAdminDeletePageComposer';
export * from './CatalogAdminLoadOfferComposer';
export * from './CatalogAdminLoadPageComposer';
export * from './CatalogAdminMoveOfferComposer'; export * from './CatalogAdminMoveOfferComposer';
export * from './CatalogAdminMovePageComposer'; export * from './CatalogAdminMovePageComposer';
export * from './CatalogAdminPublishComposer'; export * from './CatalogAdminPublishComposer';
@@ -0,0 +1,51 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export class CatalogAdminOfferDetailsMessageParser implements IMessageParser
{
private _offerId: number;
private _offerIdGroup: number;
private _limitedStack: number;
private _orderNumber: number;
public flush(): boolean
{
this._offerId = -1;
this._offerIdGroup = 0;
this._limitedStack = 0;
this._orderNumber = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._offerId = wrapper.readInt();
this._offerIdGroup = wrapper.readInt();
this._limitedStack = wrapper.readInt();
this._orderNumber = wrapper.readInt();
return true;
}
public get offerId(): number
{
return this._offerId;
}
public get offerIdGroup(): number
{
return this._offerIdGroup;
}
public get limitedStack(): number
{
return this._limitedStack;
}
public get orderNumber(): number
{
return this._orderNumber;
}
}
@@ -0,0 +1,48 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export class CatalogAdminPageDetailsMessageParser implements IMessageParser
{
private _pageId: number;
private _caption: string;
private _captionSave: string;
private _minRank: number;
private _orderNum: number;
private _visible: boolean;
private _enabled: boolean;
public flush(): boolean
{
this._pageId = -1;
this._caption = '';
this._captionSave = '';
this._minRank = 1;
this._orderNum = 0;
this._visible = true;
this._enabled = true;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._pageId = wrapper.readInt();
this._caption = wrapper.readString();
this._captionSave = wrapper.readString();
this._minRank = wrapper.readInt();
this._orderNum = wrapper.readInt();
this._visible = wrapper.readBoolean();
this._enabled = wrapper.readBoolean();
return true;
}
public get pageId(): number { return this._pageId; }
public get caption(): string { return this._caption; }
public get captionSave(): string { return this._captionSave; }
public get minRank(): number { return this._minRank; }
public get orderNum(): number { return this._orderNum; }
public get visible(): boolean { return this._visible; }
public get enabled(): boolean { return this._enabled; }
}
@@ -3,6 +3,8 @@ export * from './BuildersClubFurniCountMessageParser';
export * from './BuildersClubSubscriptionStatusMessageParser'; export * from './BuildersClubSubscriptionStatusMessageParser';
export * from './BundleDiscountRuleset'; export * from './BundleDiscountRuleset';
export * from './BundleDiscountRulesetMessageParser'; export * from './BundleDiscountRulesetMessageParser';
export * from './CatalogAdminOfferDetailsMessageParser';
export * from './CatalogAdminPageDetailsMessageParser';
export * from './CatalogAdminResultMessageParser'; export * from './CatalogAdminResultMessageParser';
export * from './CatalogIndexMessageParser'; export * from './CatalogIndexMessageParser';
export * from './CatalogLocalizationData'; export * from './CatalogLocalizationData';
@@ -18,6 +18,9 @@ export class MentionListItem
this._mentionId = wrapper.readInt(); this._mentionId = wrapper.readInt();
this._senderId = wrapper.readInt(); this._senderId = wrapper.readInt();
this._senderUsername = wrapper.readString(); this._senderUsername = wrapper.readString();
// Wire order: sender_figure sits between username and roomId. The
// server composer writes it unconditionally; an empty string is
// produced for legacy rows where the column wasn't loaded.
this._senderFigure = wrapper.readString(); this._senderFigure = wrapper.readString();
this._roomId = wrapper.readInt(); this._roomId = wrapper.readInt();
this._roomName = wrapper.readString(); this._roomName = wrapper.readString();