forked from noxious/server
Map event tile improvements
This commit is contained in:
@ -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 []
|
||||
}
|
||||
|
Reference in New Issue
Block a user