forked from noxious/server
Major refractor, cleaning and improvements.
This commit is contained in:
@ -1,13 +1,14 @@
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Zone, ZoneEventTile, ZoneObject } from '@prisma/client'
|
||||
import prisma from '../utilities/prisma'
|
||||
import logger from '../utilities/logger'
|
||||
|
||||
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}`)
|
||||
logger.error(`Failed to get first zone: ${error.message}`)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,12 +16,12 @@ class ZoneRepository {
|
||||
try {
|
||||
return await prisma.zone.findMany()
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get all zone: ${error.message}`)
|
||||
logger.error(`Failed to get all zone: ${error.message}`)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id: number) {
|
||||
async getById(id: number): Promise<Zone | null> {
|
||||
try {
|
||||
return await prisma.zone.findUnique({
|
||||
where: {
|
||||
@ -41,12 +42,12 @@ class ZoneRepository {
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone by id: ${error.message}`)
|
||||
logger.error(`Failed to get zone by id: ${error.message}`)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
async getEventTiles(id: number) {
|
||||
async getEventTiles(id: number): Promise<ZoneEventTile[]> {
|
||||
try {
|
||||
return await prisma.zoneEventTile.findMany({
|
||||
where: {
|
||||
@ -54,12 +55,12 @@ class ZoneRepository {
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone event tiles: ${error.message}`)
|
||||
logger.error(`Failed to get zone event tiles: ${error.message}`)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async getObjects(id: number) {
|
||||
async getObjects(id: number): Promise<ZoneObject[]> {
|
||||
try {
|
||||
return await prisma.zoneObject.findMany({
|
||||
where: {
|
||||
@ -67,8 +68,8 @@ class ZoneRepository {
|
||||
}
|
||||
})
|
||||
} catch (error: any) {
|
||||
// Handle error
|
||||
throw new Error(`Failed to get zone objects: ${error.message}`)
|
||||
logger.error(`Failed to get zone objects: ${error.message}`)
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user