forked from OpenWF/SpaceNinjaServer
		
	feat: add CompletedVorsPrize to getAccountInfo response (#1994)
Closes #1941 Reviewed-on: OpenWF/SpaceNinjaServer#1994 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									203b3e20d9
								
							
						
					
					
						commit
						4f28688837
					
				@ -1,15 +1,18 @@
 | 
				
			|||||||
import { AllianceMember, Guild, GuildMember } from "@/src/models/guildModel";
 | 
					import { AllianceMember, Guild, GuildMember } from "@/src/models/guildModel";
 | 
				
			||||||
 | 
					import { getInventory } from "@/src/services/inventoryService";
 | 
				
			||||||
import { getAccountForRequest, isAdministrator } from "@/src/services/loginService";
 | 
					import { getAccountForRequest, isAdministrator } from "@/src/services/loginService";
 | 
				
			||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const getAccountInfoController: RequestHandler = async (req, res) => {
 | 
					export const getAccountInfoController: RequestHandler = async (req, res) => {
 | 
				
			||||||
    const account = await getAccountForRequest(req);
 | 
					    const account = await getAccountForRequest(req);
 | 
				
			||||||
 | 
					    const inventory = await getInventory(account._id.toString(), "QuestKeys");
 | 
				
			||||||
    const info: IAccountInfo = {
 | 
					    const info: IAccountInfo = {
 | 
				
			||||||
        DisplayName: account.DisplayName
 | 
					        DisplayName: account.DisplayName,
 | 
				
			||||||
 | 
					        IsAdministrator: isAdministrator(account),
 | 
				
			||||||
 | 
					        CompletedVorsPrize: !!inventory.QuestKeys.find(
 | 
				
			||||||
 | 
					            x => x.ItemType == "/Lotus/Types/Keys/VorsPrize/VorsPrizeQuestKeyChain"
 | 
				
			||||||
 | 
					        )?.Completed
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    if (isAdministrator(account)) {
 | 
					 | 
				
			||||||
        info.IsAdministrator = true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    const guildMember = await GuildMember.findOne({ accountId: account._id, status: 0 }, "guildId rank");
 | 
					    const guildMember = await GuildMember.findOne({ accountId: account._id, status: 0 }, "guildId rank");
 | 
				
			||||||
    if (guildMember) {
 | 
					    if (guildMember) {
 | 
				
			||||||
        const guild = (await Guild.findById(guildMember.guildId, "Ranks AllianceId"))!;
 | 
					        const guild = (await Guild.findById(guildMember.guildId, "Ranks AllianceId"))!;
 | 
				
			||||||
@ -31,7 +34,8 @@ export const getAccountInfoController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
interface IAccountInfo {
 | 
					interface IAccountInfo {
 | 
				
			||||||
    DisplayName: string;
 | 
					    DisplayName: string;
 | 
				
			||||||
    IsAdministrator?: boolean;
 | 
					    IsAdministrator: boolean;
 | 
				
			||||||
 | 
					    CompletedVorsPrize: boolean;
 | 
				
			||||||
    GuildId?: string;
 | 
					    GuildId?: string;
 | 
				
			||||||
    GuildPermissions?: number;
 | 
					    GuildPermissions?: number;
 | 
				
			||||||
    GuildRank?: number;
 | 
					    GuildRank?: number;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user