Added missing entities( zoneEffect, zoneEventTile, zoneEventTileTeleport, zoneObject)

This commit is contained in:
2024-12-25 03:19:53 +01:00
parent b4989aac26
commit 95f4c58110
20 changed files with 489 additions and 391 deletions

View File

@ -1,38 +1,38 @@
import prisma from '#utilities/prisma' // Import the global Prisma instance
import { Tile } from '@prisma/client'
import zoneRepository from './zoneRepository'
import { unduplicateArray } from '#utilities/utilities'
import { FlattenZoneArray } from '#utilities/zone'
import { appLogger } from '#utilities/logger'
import { BaseRepository } from '#repositories/baseRepository'
import { Item } from '#entities/item'
class ItemRepository {
async getById(id: string) {
return prisma.item.findUnique({
where: { id },
include: {
sprite: true
}
})
class ItemRepository extends BaseRepository {
async getById(id: string): Promise<any> {
try {
const repository = this.em.getRepository(Item)
return await repository.findOne({ id })
} catch (error: any) {
appLogger.error(`Failed to get item by ID: ${error instanceof Error ? error.message : String(error)}`)
return null
}
}
async getByIds(ids: string[]) {
return prisma.item.findMany({
where: {
id: {
in: ids
}
},
include: {
sprite: true
}
})
async getByIds(ids: string[]): Promise<any> {
try {
const repository = this.em.getRepository(Item)
return await repository.find({
id: ids
})
} catch (error: any) {
appLogger.error(`Failed to get items by IDs: ${error instanceof Error ? error.message : String(error)}`)
return null
}
}
async getAll() {
return prisma.item.findMany({
include: {
sprite: true
}
})
async getAll(): Promise<any> {
try {
const repository = this.em.getRepository(Item)
return await repository.findAll()
} catch (error: any) {
appLogger.error(`Failed to get all items: ${error instanceof Error ? error.message : String(error)}`)
return null
}
}
}