import { Server } from 'socket.io' import { TSocket } from '../../../../utilities/types' import { Tile } from '@prisma/client' import TileRepository from '../../../../repositories/tileRepository' import CharacterManager from '../../../../managers/characterManager' import characterRepository from '../../../../repositories/characterRepository' interface IPayload {} /** * Handle game master list tile event * @param socket * @param io */ export default function (io: Server, socket: TSocket) { socket.on('gm:tile:list', async (data: any, callback: (response: Tile[]) => void) => { const character = await characterRepository.getById(socket.characterId as number) if (!character) return if (character.role !== 'gm') { return } // get all tiles const tiles = await TileRepository.getAll() callback(tiles) }) }