From f4047489ebcc7ec1596828a690d1e8c19c3129b5 Mon Sep 17 00:00:00 2001 From: Dev Date: Sun, 23 Jul 2023 12:30:15 +0100 Subject: [PATCH] Clean up sptFriend generation code - reduce duplication --- project/src/controllers/DialogueController.ts | 47 +++++++------------ .../eft/dialog/IGetFriendListDataResponse.ts | 18 +------ 2 files changed, 20 insertions(+), 45 deletions(-) diff --git a/project/src/controllers/DialogueController.ts b/project/src/controllers/DialogueController.ts index 8e3c8dd5..ceb52055 100644 --- a/project/src/controllers/DialogueController.ts +++ b/project/src/controllers/DialogueController.ts @@ -50,18 +50,9 @@ export class DialogueController // eslint-disable-next-line @typescript-eslint/no-unused-vars public getFriendList(sessionID: string): IGetFriendListDataResponse { + // Force a fake friend called SPT into friend list return { - "Friends": [ - { - _id: "sptFriend", - Info: { - Level: 1, - MemberCategory: MemberCategory.DEVELOPER, - Nickname: "SPT", - Side: "Usec" - } - } - ], + "Friends": [this.getSptFriendData()], "Ignore": [], "InIgnoreList": [] }; @@ -188,15 +179,7 @@ export class DialogueController if (request.type === MessageType.USER_MESSAGE) { profile.dialogues[request.dialogId].Users = []; - profile.dialogues[request.dialogId].Users.push({ - _id: request.dialogId, - info: { - Level:1, - Nickname: "SPT", - Side: "Usec", - MemberCategory: MemberCategory.DEFAULT - } - }); + profile.dialogues[request.dialogId].Users.push(this.getSptFriendData(request.dialogId)); } } @@ -321,15 +304,8 @@ export class DialogueController protected handleChatWithSPTFriend(sessionId: string, request: ISendMessageRequest): void { - const sptFriendUser: IUserDialogInfo = { - _id: "sptFriend", - info: { - Level: 1, - MemberCategory: MemberCategory.DEVELOPER, - Nickname: "SPT", - Side: "Usec" - } - }; + const sptFriendUser = this.getSptFriendData(); + const giftSent = this.giftService.sendGiftToPlayer(sessionId, request.text); if (giftSent === GiftSentResult.SUCCESS) @@ -353,6 +329,19 @@ export class DialogueController } } + protected getSptFriendData(friendId = "sptFriend"): IUserDialogInfo + { + return { + _id: friendId, + info: { + Level: 1, + MemberCategory: MemberCategory.DEVELOPER, + Nickname: "SPT", + Side: "Usec" + } + }; + } + /** * Get messages from a specific dialog that have items not expired * @param sessionId Session id diff --git a/project/src/models/eft/dialog/IGetFriendListDataResponse.ts b/project/src/models/eft/dialog/IGetFriendListDataResponse.ts index 945ce292..ae0eb034 100644 --- a/project/src/models/eft/dialog/IGetFriendListDataResponse.ts +++ b/project/src/models/eft/dialog/IGetFriendListDataResponse.ts @@ -1,22 +1,8 @@ -import { MemberCategory } from "../../enums/MemberCategory"; +import { IUserDialogInfo } from "../profile/IAkiProfile"; export interface IGetFriendListDataResponse { - Friends: Friend[] + Friends: IUserDialogInfo[] Ignore: string[] InIgnoreList: string[] -} - -export interface Friend -{ - _id: string - Info: Info -} - -export interface Info -{ - Nickname: string - Side: string - Level: number - MemberCategory: MemberCategory } \ No newline at end of file