diff --git a/src/http/controllers/assets.ts b/src/http/controllers/assets.ts index e4bdccc..c13968b 100644 --- a/src/http/controllers/assets.ts +++ b/src/http/controllers/assets.ts @@ -33,7 +33,7 @@ export class AssetsController extends BaseController { * @param res */ public async listTilesByZone(req: Request, res: Response) { - const zoneId = parseInt(req.params.zoneId) + const zoneId = req.params.zoneId as UUID if (!zoneId || zoneId === 0) { return this.sendError(res, 'Invalid zone ID', 400) diff --git a/src/repositories/tileRepository.ts b/src/repositories/tileRepository.ts index a4b4179..b61eb75 100644 --- a/src/repositories/tileRepository.ts +++ b/src/repositories/tileRepository.ts @@ -1,13 +1,14 @@ import { FilterValue } from '@mikro-orm/core' import { BaseRepository } from '#application/base/baseRepository' +import { UUID } from '#application/types' import { unduplicateArray } from '#application/utilities' import { Tile } from '#entities/tile' import { Zone } from '#entities/zone' import ZoneService from '#services/zoneService' class TileRepository extends BaseRepository { - async getById(id: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise { + async getById(id: UUID) { try { const repository = this.em.getRepository(Tile) return await repository.findOne({ id }) @@ -16,33 +17,33 @@ class TileRepository extends BaseRepository { } } - async getByIds(ids: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise { + async getByIds(ids: UUID[]) { try { const repository = this.em.getRepository(Tile) return await repository.find({ id: ids }) } catch (error: any) { - return null + return [] } } - async getAll(): Promise { + async getAll() { try { const repository = this.em.getRepository(Tile) return await repository.findAll() } catch (error: any) { - return null + return [] } } - async getByZoneId(zoneId: number): Promise { + async getByZoneId(zoneId: UUID) { try { const repository = this.em.getRepository(Zone) const tileRepository = this.em.getRepository(Tile) 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)))) @@ -50,7 +51,7 @@ class TileRepository extends BaseRepository { id: zoneTileArray }) } catch (error: any) { - return null + return [] } } }