1
0
forked from noxious/server

Minor improvements for char. type management

This commit is contained in:
Dennis Postma 2024-11-17 18:00:58 +01:00
parent ec3bf0f51e
commit 6ee8bb8334
2 changed files with 7 additions and 19 deletions

View File

@ -7,7 +7,7 @@ import { getPublicPath } from '../../../../utilities/storage'
import { gameMasterLogger } from '../../../../utilities/logger'
interface IPayload {
object: string
id: number
}
export default class CharacterTypeDeleteEvent {
@ -29,25 +29,13 @@ export default class CharacterTypeDeleteEvent {
}
try {
await prisma.object.delete({
where: {
id: data.object
}
await prisma.characterType.delete({
where: { id: data.id }
})
// remove the tile from the disk
const finalFilePath = getPublicPath('objects', data.object + '.png')
fs.unlink(finalFilePath, (err) => {
if (err) {
gameMasterLogger.error(`Error deleting object ${data.object}: ${err.message}`)
callback(false)
return
}
callback(true)
})
} catch (error) {
gameMasterLogger.error(`Error deleting object ${data.object}: ${error instanceof Error ? error.message : String(error)}`)
gameMasterLogger.error(`Error deleting character type ${data.id}: ${error instanceof Error ? error.message : String(error)}`)
callback(false)
}
}

View File

@ -21,10 +21,10 @@ export default class GMSpriteDeleteEvent {
}
public listen(): void {
this.socket.on('gm:sprite:delete', this.handleSpriteDelete.bind(this))
this.socket.on('gm:sprite:delete', this.handleEvent.bind(this))
}
private async handleSpriteDelete(data: Payload, callback: (response: boolean) => void): Promise<void> {
private async handleEvent(data: Payload, callback: (response: boolean) => void): Promise<void> {
const character = await CharacterRepository.getById(this.socket.characterId!)
if (character?.role !== 'gm') {
return callback(false)