From c6041514dbd1601dc343bf9c097b05a911c913c7 Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 15 May 2024 14:23:19 +0100 Subject: [PATCH] Added additional missing endpoints --- project/src/callbacks/DialogueCallbacks.ts | 31 +++++++++++++++ .../eft/dialog/IAddUserGroupMailRequest.ts | 5 +++ .../dialog/IChangeGroupMailOwnerRequest.ts | 5 +++ .../eft/dialog/IRemoveUserGroupMailRequest.ts | 5 +++ .../src/routers/static/DialogStaticRouter.ts | 39 +++++++++++++++++++ 5 files changed, 85 insertions(+) create mode 100644 project/src/models/eft/dialog/IAddUserGroupMailRequest.ts create mode 100644 project/src/models/eft/dialog/IChangeGroupMailOwnerRequest.ts create mode 100644 project/src/models/eft/dialog/IRemoveUserGroupMailRequest.ts diff --git a/project/src/callbacks/DialogueCallbacks.ts b/project/src/callbacks/DialogueCallbacks.ts index ba81f431..81150ef8 100644 --- a/project/src/callbacks/DialogueCallbacks.ts +++ b/project/src/callbacks/DialogueCallbacks.ts @@ -33,10 +33,14 @@ import { HashUtil } from "@spt-aki/utils/HashUtil"; import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; import { TimeUtil } from "@spt-aki/utils/TimeUtil"; import { ICreateGroupMailRequest } from "@spt-aki/models/eft/dialog/ICreateGroupMailRequest"; +import { IChangeGroupMailOwnerRequest } from "@spt-aki/models/eft/dialog/IChangeGroupMailOwnerRequest"; +import { IAddUserGroupMailRequest } from "@spt-aki/models/eft/dialog/IAddUserGroupMailRequest"; +import { IRemoveUserGroupMailRequest } from "@spt-aki/models/eft/dialog/IRemoveUserGroupMailRequest"; @injectable() export class DialogueCallbacks implements OnUpdate { + // eslint-disable-next-line @typescript-eslint/no-unused-vars constructor( @inject("HashUtil") protected hashUtil: HashUtil, @inject("TimeUtil") protected timeUtil: TimeUtil, @@ -281,6 +285,33 @@ export class DialogueCallbacks implements OnUpdate throw new Error("Method not implemented."); } + public changeMailGroupOwner( + url: string, + info: IChangeGroupMailOwnerRequest, + sessionID: string + ): IGetBodyResponseData + { + throw new Error("Method not implemented."); + } + + public addUserToMail( + url: string, + info: IAddUserGroupMailRequest, + sessionID: string + ): IGetBodyResponseData + { + throw new Error("Method not implemented."); + } + + public removeUserFromMail( + url: string, + info: IRemoveUserGroupMailRequest, + sessionID: string + ): IGetBodyResponseData + { + throw new Error("Method not implemented."); + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars public async onUpdate(timeSinceLastRun: number): Promise { diff --git a/project/src/models/eft/dialog/IAddUserGroupMailRequest.ts b/project/src/models/eft/dialog/IAddUserGroupMailRequest.ts new file mode 100644 index 00000000..8563dc5f --- /dev/null +++ b/project/src/models/eft/dialog/IAddUserGroupMailRequest.ts @@ -0,0 +1,5 @@ +export interface IAddUserGroupMailRequest +{ + dialogId: string; + uid: string; +} diff --git a/project/src/models/eft/dialog/IChangeGroupMailOwnerRequest.ts b/project/src/models/eft/dialog/IChangeGroupMailOwnerRequest.ts new file mode 100644 index 00000000..06ac8e05 --- /dev/null +++ b/project/src/models/eft/dialog/IChangeGroupMailOwnerRequest.ts @@ -0,0 +1,5 @@ +export interface IChangeGroupMailOwnerRequest +{ + dialogId: string; + uid: string; +} diff --git a/project/src/models/eft/dialog/IRemoveUserGroupMailRequest.ts b/project/src/models/eft/dialog/IRemoveUserGroupMailRequest.ts new file mode 100644 index 00000000..64c580cf --- /dev/null +++ b/project/src/models/eft/dialog/IRemoveUserGroupMailRequest.ts @@ -0,0 +1,5 @@ +export interface IRemoveUserGroupMailRequest +{ + dialogId: string; + uid: string; +} diff --git a/project/src/routers/static/DialogStaticRouter.ts b/project/src/routers/static/DialogStaticRouter.ts index 6e0ffe0a..120cd442 100644 --- a/project/src/routers/static/DialogStaticRouter.ts +++ b/project/src/routers/static/DialogStaticRouter.ts @@ -10,6 +10,9 @@ import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyR import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; import { DialogueInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; import { ICreateGroupMailRequest } from "@spt-aki/models/eft/dialog/ICreateGroupMailRequest"; +import { IChangeGroupMailOwnerRequest } from "@spt-aki/models/eft/dialog/IChangeGroupMailOwnerRequest"; +import { IAddUserGroupMailRequest } from "@spt-aki/models/eft/dialog/IAddUserGroupMailRequest"; +import { IRemoveUserGroupMailRequest } from "@spt-aki/models/eft/dialog/IRemoveUserGroupMailRequest"; @injectable() export class DialogStaticRouter extends StaticRouter @@ -173,6 +176,42 @@ export class DialogStaticRouter extends StaticRouter return this.dialogueCallbacks.createGroupMail(url, info, sessionID); }, ), + new RouteAction( + "/client/mail/dialog/group/owner/change", + async ( + url: string, + info: IChangeGroupMailOwnerRequest, + sessionID: string, + output: string, + ): Promise> => + { + return this.dialogueCallbacks.changeMailGroupOwner(url, info, sessionID); + }, + ), + new RouteAction( + "/client/mail/dialog/group/users/add", + async ( + url: string, + info: IAddUserGroupMailRequest, + sessionID: string, + output: string, + ): Promise> => + { + return this.dialogueCallbacks.addUserToMail(url, info, sessionID); + }, + ), + new RouteAction( + "/client/mail/dialog/group/users/remove", + async ( + url: string, + info: IRemoveUserGroupMailRequest, + sessionID: string, + output: string, + ): Promise> => + { + return this.dialogueCallbacks.removeUserFromMail(url, info, sessionID); + }, + ), new RouteAction( "/client/friend/list", async (