forked from noxious/server
#237 - Changed Prisma find calls to repos
This commit is contained in:
37
src/repositories/zoneEventTileRepository.ts
Normal file
37
src/repositories/zoneEventTileRepository.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { ZoneEventTile } from '@prisma/client'
|
||||
import prisma from '../utilities/prisma'
|
||||
import { appLogger } from '../utilities/logger'
|
||||
|
||||
class ZoneEventTileRepository {
|
||||
|
||||
async getAll(id: number): Promise<ZoneEventTile[]> {
|
||||
try {
|
||||
return await prisma.zoneEventTile.findMany({
|
||||
where: {
|
||||
zoneId: id
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone event tiles: ${error.message}`)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async getEventTileByZoneIdAndPosition(zoneId: number, positionX: number, positionY: number) {
|
||||
try {
|
||||
return await prisma.zoneEventTile.findFirst({
|
||||
where: {
|
||||
zoneId: zoneId,
|
||||
positionX: positionX,
|
||||
positionY: positionY
|
||||
},
|
||||
include: { teleport: true }
|
||||
})
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone event tile: ${error.message}`)
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new ZoneEventTileRepository()
|
Reference in New Issue
Block a user