server/src/repositories/zoneEventTileRepository.ts

33 lines
974 B
TypeScript

import { BaseRepository } from '#application/base/baseRepository'
import { ZoneEventTile } from '#entities/zoneEventTile'
class ZoneEventTileRepository extends BaseRepository {
async getAll(id: number): Promise<ZoneEventTile[]> {
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: number, 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()