1
0
forked from noxious/server

Map event tile improvements

This commit is contained in:
2025-01-05 06:22:22 +01:00
parent 57b21f1499
commit d7982493e1
23 changed files with 198 additions and 115 deletions

View File

@ -11,7 +11,10 @@ class TileRepository extends BaseRepository {
async getById(id: UUID) {
try {
const repository = this.getEntityManager().getRepository(Tile)
return await repository.findOne({ id })
const result = await repository.findOne({ id })
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
return null
}
@ -20,9 +23,12 @@ class TileRepository extends BaseRepository {
async getByIds(ids: UUID[]) {
try {
const repository = this.getEntityManager().getRepository(Tile)
return await repository.find({
const results = await repository.find({
id: ids
})
for (const result of results) result.setEntityManager(this.getEntityManager())
return results
} catch (error: any) {
return []
}
@ -31,7 +37,10 @@ class TileRepository extends BaseRepository {
async getAll() {
try {
const repository = this.getEntityManager().getRepository(Tile)
return await repository.findAll()
const results = await repository.findAll()
for (const result of results) result.setEntityManager(this.getEntityManager())
return results
} catch (error: any) {
return []
}
@ -39,17 +48,20 @@ class TileRepository extends BaseRepository {
async getByMapId(mapId: UUID) {
try {
const repository = this.getEntityManager().getRepository(Map)
const mapRepository = this.getEntityManager().getRepository(Map)
const tileRepository = this.getEntityManager().getRepository(Tile)
const map = await repository.findOne({ id: mapId })
const map = await mapRepository.findOne({ id: mapId })
if (!map) return []
const mapTileArray = unduplicateArray(MapService.flattenMapArray(JSON.parse(JSON.stringify(map.tiles))))
return await tileRepository.find({
const results = await tileRepository.find({
id: mapTileArray
})
for (const result of results) result.setEntityManager(this.getEntityManager())
return results
} catch (error: any) {
return []
}