forked from noxious/server
use camelcase file names from now on...
This commit is contained in:
75
src/repositories/zoneRepository.ts
Normal file
75
src/repositories/zoneRepository.ts
Normal file
@ -0,0 +1,75 @@
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
|
||||
class ZoneRepository {
|
||||
async getFirst(): Promise<Zone | null> {
|
||||
try {
|
||||
return await prisma.zone.findFirst()
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get first zone: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
async getAll(): Promise<Zone[]> {
|
||||
try {
|
||||
return await prisma.zone.findMany()
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get all zone: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id: number) {
|
||||
try {
|
||||
return await prisma.zone.findUnique({
|
||||
where: {
|
||||
id: id
|
||||
},
|
||||
include: {
|
||||
zoneEventTiles: {
|
||||
include: {
|
||||
zone: true
|
||||
}
|
||||
},
|
||||
zoneObjects: {
|
||||
include: {
|
||||
object: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone by id: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
async getEventTiles(id: number) {
|
||||
try {
|
||||
return await prisma.zoneEventTile.findMany({
|
||||
where: {
|
||||
zoneId: id
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone event tiles: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
async getObjects(id: number) {
|
||||
try {
|
||||
return await prisma.zoneObject.findMany({
|
||||
where: {
|
||||
zoneId: id
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone objects: ${error.message}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new ZoneRepository()
|
Reference in New Issue
Block a user