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