diff --git a/src/events/gameMaster/zoneEditor/update.ts b/src/events/gameMaster/zoneEditor/update.ts index 48e4c26..5992a70 100644 --- a/src/events/gameMaster/zoneEditor/update.ts +++ b/src/events/gameMaster/zoneEditor/update.ts @@ -1,9 +1,10 @@ import { Server } from 'socket.io' import { TSocket } from '../../../utilities/types' import ZoneRepository from '../../../repositories/zoneRepository' -import { ZoneEventTile, ZoneEventTileType, ZoneObject } from '@prisma/client' +import { Zone, ZoneEventTile, ZoneEventTileType, ZoneObject } from '@prisma/client' import prisma from '../../../utilities/prisma' import zoneManager from '../../../managers/zoneManager' +import logger from '../../../utilities/logger' interface IPayload { zoneId: number @@ -31,16 +32,16 @@ interface IPayload { * @param io */ export default function (socket: TSocket, io: Server) { - socket.on('gm:zone_editor:zone:update', async (data: IPayload) => { + socket.on('gm:zone_editor:zone:update', async (data: IPayload, callback: (response: Zone) => void) => { if (socket.character?.role !== 'gm') { - console.log(`---Character #${socket.character?.id} is not a game master.`) + logger.info(`User ${socket.character?.id} tried to update zone but is not a game master.`) return } - console.log(`---GM ${socket.character?.id} has updated zone via zone editor.`) + logger.info(`User ${socket.character?.id} has updated zone via zone editor.`) if (!data.zoneId) { - console.log(`---Zone id not provided.`) + logger.info(`User ${socket.character?.id} tried to update zone but did not provide a zone id.`) return } @@ -48,12 +49,10 @@ export default function (socket: TSocket, io: Server) { let zone = await ZoneRepository.getById(data.zoneId) if (!zone) { - console.log(`---Zone not found.`) + logger.info(`User ${socket.character?.id} tried to update zone ${data.zoneId} but it does not exist.`) return } - console.log(data) - await prisma.zone.update({ where: { id: data.zoneId @@ -104,17 +103,16 @@ export default function (socket: TSocket, io: Server) { zone = await ZoneRepository.getById(data.zoneId) if (!zone) { - console.log(`---Zone not found.`) + logger.info(`User ${socket.character?.id} tried to update zone ${data.zoneId} but it does not exist.`) return } - // send over zone and characters to socket - socket.emit('gm:zone_editor:zone:load', zone) + callback(zone) zoneManager.unloadZone(data.zoneId) await zoneManager.loadZone(zone) } catch (error: any) { - console.log(`---Error updating zone: ${error.message}`) + logger.error(`Error updating zone: ${error.message}`) } }) }