import { BaseRepository } from '#application/base/baseRepository' import { UUID } from '#application/types' import { ZoneEventTile } from '#entities/zoneEventTile' class ZoneEventTileRepository extends BaseRepository { async getAll(id: UUID): Promise { try { const repository = this.em.getRepository(ZoneEventTile) return await repository.find({ zone: id }) } catch (error: any) { this.logger.error(`Failed to get zone event tiles: ${error.message}`) return [] } } async getEventTileByZoneIdAndPosition(zoneId: UUID, positionX: number, positionY: number) { try { const repository = this.em.getRepository(ZoneEventTile) return await repository.findOne({ zone: zoneId, positionX: positionX, positionY: positionY }) } catch (error: any) { this.logger.error(`Failed to get zone event tile: ${error.message}`) return null } } } export default new ZoneEventTileRepository()