33 lines
974 B
TypeScript
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()
|