1
0
forked from noxious/server
noxious_server/src/repositories/spriteRepository.ts
2025-02-07 01:08:40 +01:00

41 lines
1.2 KiB
TypeScript

import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { Sprite } from '#entities/sprite'
class SpriteRepository extends BaseRepository {
async getById(id: UUID, populate?: any) {
try {
const repository = this.getEntityManager().getRepository(Sprite)
const result = await repository.findOne({ id }, { populate })
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
return null
}
}
async getAll(populate?: any): Promise<Sprite[]> {
try {
const repository = this.getEntityManager().getRepository(Sprite)
return await repository.findAll({ populate })
} catch (error: any) {
return []
}
}
async getFirst(populate?: any): Promise<Sprite | null> {
try {
const repository = this.getEntityManager().getRepository(Sprite)
const result = await repository.findOne({ id: { $exists: true } }, { populate })
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
return null
}
}
}
export default SpriteRepository