forked from OpenWF/SpaceNinjaServer
		
	
		
			
				
	
	
		
			24 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Request } from "express";
 | 
						|
import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
						|
import { getInventory } from "@/src/services/inventoryService";
 | 
						|
import { Guild } from "@/src/models/guildModel";
 | 
						|
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
 | 
						|
 | 
						|
export const getGuildForRequest = async (req: Request) => {
 | 
						|
    const accountId = await getAccountIdForRequest(req);
 | 
						|
    const inventory = await getInventory(accountId);
 | 
						|
    return await getGuildForRequestEx(req, inventory);
 | 
						|
};
 | 
						|
 | 
						|
export const getGuildForRequestEx = async (req: Request, inventory: TInventoryDatabaseDocument) => {
 | 
						|
    const guildId = req.query.guildId as string;
 | 
						|
    if (!inventory.GuildId || inventory.GuildId.toString() != guildId) {
 | 
						|
        throw new Error("Account is not in the guild that it has sent a request for");
 | 
						|
    }
 | 
						|
    const guild = await Guild.findOne({ _id: guildId });
 | 
						|
    if (!guild) {
 | 
						|
        throw new Error("Account thinks it is in a guild that doesn't exist");
 | 
						|
    }
 | 
						|
    return guild;
 | 
						|
};
 |