Closes #2797 Reviewed-on: #2798 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
		
			
				
	
	
		
			18 lines
		
	
	
		
			856 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			856 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { getInventory } from "../../services/inventoryService.ts";
 | 
						|
import { getAccountIdForRequest } from "../../services/loginService.ts";
 | 
						|
import { giveKeyChainMessage } from "../../services/questService.ts";
 | 
						|
import type { IKeyChainRequest } from "../../types/requestTypes.ts";
 | 
						|
import type { RequestHandler } from "express";
 | 
						|
 | 
						|
export const giveKeyChainTriggeredMessageController: RequestHandler = async (req, res) => {
 | 
						|
    const accountId = await getAccountIdForRequest(req);
 | 
						|
    const keyChainInfo = JSON.parse((req.body as Buffer).toString()) as IKeyChainRequest;
 | 
						|
 | 
						|
    const inventory = await getInventory(accountId, "QuestKeys accountOwnerId");
 | 
						|
    const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain)!;
 | 
						|
    await giveKeyChainMessage(inventory, keyChainInfo, questKey);
 | 
						|
    await inventory.save();
 | 
						|
 | 
						|
    res.send(1);
 | 
						|
};
 |