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' interface IPayload {} /** * Handle game master list tile event * @param socket * @param io */ export default function (socket: TSocket, io: Server) { socket.on('gm:tile:list', async (data: any, callback: (response: Tile[]) => void) => { const character = CharacterManager.getCharacterFromSocket(socket); if (character?.role !== 'gm') { console.log(`---Character #${character?.id} is not a game master.`) return } // get all tiles const tiles = await TileRepository.getAll() callback(tiles) }) }