返回提交历史
Modified
src/controllers/custom/getAccountInfoController.ts
+9
-5
XFEstudio/XFESpaceNinjaServer
feat: add CompletedVorsPrize to getAccountInfo response (#1994)
Closes #1941 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1994 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
4f286888
代码差异
1 个文件
+9
-5
@@ -1,15 +1,18 @@
1
1
import { AllianceMember, Guild, GuildMember } from "@/src/models/guildModel";
2
import { getInventory } from "@/src/services/inventoryService";
2
3
import { getAccountForRequest, isAdministrator } from "@/src/services/loginService";
3
4
import { RequestHandler } from "express";
4
5
5
6
export const getAccountInfoController: RequestHandler = async (req, res) => {
6
7
const account = await getAccountForRequest(req);
8
const inventory = await getInventory(account._id.toString(), "QuestKeys");
7
9
const info: IAccountInfo = {
8
DisplayName: account.DisplayName
10
DisplayName: account.DisplayName,
11
IsAdministrator: isAdministrator(account),
12
CompletedVorsPrize: !!inventory.QuestKeys.find(
13
x => x.ItemType == "/Lotus/Types/Keys/VorsPrize/VorsPrizeQuestKeyChain"
14
)?.Completed
9
15
};
10
if (isAdministrator(account)) {
11
info.IsAdministrator = true;
12
}
13
16
const guildMember = await GuildMember.findOne({ accountId: account._id, status: 0 }, "guildId rank");
14
17
if (guildMember) {
15
18
const guild = (await Guild.findById(guildMember.guildId, "Ranks AllianceId"))!;
@@ -31,7 +34,8 @@ export const getAccountInfoController: RequestHandler = async (req, res) => {
31
34
32
35
interface IAccountInfo {
33
36
DisplayName: string;
34
IsAdministrator?: boolean;
37
IsAdministrator: boolean;
38
CompletedVorsPrize: boolean;
35
39
GuildId?: string;
36
40
GuildPermissions?: number;
37
41
GuildRank?: number;