From 6b12d8e7b1a098a663d2ee3bc0db79be04704f52 Mon Sep 17 00:00:00 2001 From: Colin Kallemein Date: Sat, 4 Jan 2025 22:29:56 +0100 Subject: [PATCH] Convert item create to new ORM --- .../gameMaster/assetManager/item/create.ts | 35 +++++-------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/src/events/gameMaster/assetManager/item/create.ts b/src/events/gameMaster/assetManager/item/create.ts index 325ed7a..11ca3b0 100644 --- a/src/events/gameMaster/assetManager/item/create.ts +++ b/src/events/gameMaster/assetManager/item/create.ts @@ -1,14 +1,7 @@ -import { Server } from 'socket.io' +import { BaseEvent } from '#application/base/baseEvent' +import { Item } from '#entities/item' -import prisma from '#application/prisma' -import { TSocket } from '#application/types' -import characterRepository from '#repositories/characterRepository' - -export default class ItemCreateEvent { - constructor( - private readonly io: Server, - private readonly socket: TSocket - ) {} +export default class ItemCreateEvent extends BaseEvent { public listen(): void { this.socket.on('gm:item:create', this.handleEvent.bind(this)) @@ -16,27 +9,15 @@ export default class ItemCreateEvent { private async handleEvent(data: undefined, callback: (response: boolean, item?: any) => void): Promise { try { - const character = await characterRepository.getById(this.socket.characterId as number) - if (!character) return callback(false) + if (!(await this.isCharacterGM())) return - if (character.role !== 'gm') { - return callback(false) - } + const newItem = new Item() + await newItem.setName('New Item').setItemType('WEAPON').setStackable(false).setRarity('COMMON').setSprite(null).save() - const newItem = await prisma.item.create({ - data: { - name: 'New Item', - itemType: 'WEAPON', - stackable: false, - rarity: 'COMMON', - spriteId: null - } - }) - - callback(true, newItem) + return callback(true, newItem) } catch (error) { console.error('Error creating item:', error) - callback(false) + return callback(false) } } }