Minor TS improvement
This commit is contained in:
parent
586bb0ca83
commit
6f84238503
@ -33,7 +33,7 @@ export class AssetsController extends BaseController {
|
|||||||
* @param res
|
* @param res
|
||||||
*/
|
*/
|
||||||
public async listTilesByZone(req: Request, res: Response) {
|
public async listTilesByZone(req: Request, res: Response) {
|
||||||
const zoneId = parseInt(req.params.zoneId)
|
const zoneId = req.params.zoneId as UUID
|
||||||
|
|
||||||
if (!zoneId || zoneId === 0) {
|
if (!zoneId || zoneId === 0) {
|
||||||
return this.sendError(res, 'Invalid zone ID', 400)
|
return this.sendError(res, 'Invalid zone ID', 400)
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
import { FilterValue } from '@mikro-orm/core'
|
import { FilterValue } from '@mikro-orm/core'
|
||||||
|
|
||||||
import { BaseRepository } from '#application/base/baseRepository'
|
import { BaseRepository } from '#application/base/baseRepository'
|
||||||
|
import { UUID } from '#application/types'
|
||||||
import { unduplicateArray } from '#application/utilities'
|
import { unduplicateArray } from '#application/utilities'
|
||||||
import { Tile } from '#entities/tile'
|
import { Tile } from '#entities/tile'
|
||||||
import { Zone } from '#entities/zone'
|
import { Zone } from '#entities/zone'
|
||||||
import ZoneService from '#services/zoneService'
|
import ZoneService from '#services/zoneService'
|
||||||
|
|
||||||
class TileRepository extends BaseRepository {
|
class TileRepository extends BaseRepository {
|
||||||
async getById(id: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise<any> {
|
async getById(id: UUID) {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Tile)
|
const repository = this.em.getRepository(Tile)
|
||||||
return await repository.findOne({ id })
|
return await repository.findOne({ id })
|
||||||
@ -16,33 +17,33 @@ class TileRepository extends BaseRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getByIds(ids: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise<any> {
|
async getByIds(ids: UUID[]) {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Tile)
|
const repository = this.em.getRepository(Tile)
|
||||||
return await repository.find({
|
return await repository.find({
|
||||||
id: ids
|
id: ids
|
||||||
})
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return null
|
return []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAll(): Promise<any> {
|
async getAll() {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Tile)
|
const repository = this.em.getRepository(Tile)
|
||||||
return await repository.findAll()
|
return await repository.findAll()
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return null
|
return []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getByZoneId(zoneId: number): Promise<any> {
|
async getByZoneId(zoneId: UUID) {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Zone)
|
const repository = this.em.getRepository(Zone)
|
||||||
const tileRepository = this.em.getRepository(Tile)
|
const tileRepository = this.em.getRepository(Tile)
|
||||||
|
|
||||||
const zone = await repository.findOne({ id: zoneId })
|
const zone = await repository.findOne({ id: zoneId })
|
||||||
if (!zone) return null
|
if (!zone) return []
|
||||||
|
|
||||||
const zoneTileArray = unduplicateArray(ZoneService.flattenZoneArray(JSON.parse(JSON.stringify(zone.tiles))))
|
const zoneTileArray = unduplicateArray(ZoneService.flattenZoneArray(JSON.parse(JSON.stringify(zone.tiles))))
|
||||||
|
|
||||||
@ -50,7 +51,7 @@ class TileRepository extends BaseRepository {
|
|||||||
id: zoneTileArray
|
id: zoneTileArray
|
||||||
})
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return null
|
return []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user