chore(release): 0.2.5
[risinglegends.git] / src / events / stores / server.ts
1 import {SocketEvent} from "../../server/socket-event.server";
2 import {listShopItems} from '../../server/shopEquipment';
3 import { getShopItems } from "../../server/items";
4 import { logger } from '../../server/lib/logger';
5
6 export const stores: SocketEvent = {
7   eventName: 'city:stores',
8   handler: async (api, data: {args: string}) => {
9     const storeId = parseInt(data.args);
10
11     if(!storeId || isNaN(storeId)) {
12       logger.log(`Invalid store id: ${storeId}`);
13     }
14
15     const [shopEquipemnt, shopItems] = await Promise.all([
16       listShopItems({location_id: storeId}),
17       getShopItems(storeId)
18     ]);
19
20     if(shopEquipemnt && shopEquipemnt.length) {
21       api.socket.emit('city:stores', {
22         equipment: shopEquipemnt,
23         items: shopItems
24       });
25     }
26     else {
27       logger.log(`Insufficient shop items: ${shopEquipemnt.length}`);
28     }
29   }
30 }