From 762340a72bf3878d65f125bd9460a70d03cec264 Mon Sep 17 00:00:00 2001 From: shancheas Date: Thu, 23 Jan 2025 21:49:33 +0700 Subject: [PATCH 1/3] fix: throw error when display id is undefined --- .../infrastructure/item-queue-read.controller.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts b/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts index b3a78b6..a73d60f 100644 --- a/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts +++ b/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts @@ -1,4 +1,10 @@ -import { Controller, Get, Param, Query } from '@nestjs/common'; +import { + Controller, + Get, + Param, + Query, + UnauthorizedException, +} from '@nestjs/common'; import { FilterItemQueueDto } from './dto/filter-item-queue.dto'; import { Pagination } from 'src/core/response'; import { PaginationResponse } from 'src/core/response/domain/ok-response.interface'; @@ -44,6 +50,7 @@ export class ItemQueueReadController { @Get('display/:id') @Public(true) async detailPublic(@Param('id') id: string): Promise { + if (!id) throw new UnauthorizedException('id is required'); return await this.orchestrator.detail(id); } } -- 2.40.1 From 6911f6f0a226a6838da52dab5438d5b63b7399bb Mon Sep 17 00:00:00 2001 From: shancheas Date: Thu, 23 Jan 2025 22:11:15 +0700 Subject: [PATCH 2/3] fix: don't send whatsapp notification when phone is null --- src/modules/queue/domain/queue-admin.orchestrator.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/modules/queue/domain/queue-admin.orchestrator.ts b/src/modules/queue/domain/queue-admin.orchestrator.ts index 74feb66..043cc96 100644 --- a/src/modules/queue/domain/queue-admin.orchestrator.ts +++ b/src/modules/queue/domain/queue-admin.orchestrator.ts @@ -87,7 +87,10 @@ export class QueueAdminOrchestrator { // }, // ]); - if (queueTicket.last_notification < currentTime - call_preparation) { + if ( + queueTicket.item.ticket.phone != null && + queueTicket.last_notification < currentTime - call_preparation + ) { await notification.queueProcess(payload); this.service.updateLastNotification(queueId, currentTime); } -- 2.40.1 From 7953c7dbbd85d0786bc5e325fa9a3bc8aa888f89 Mon Sep 17 00:00:00 2001 From: shancheas Date: Thu, 23 Jan 2025 22:15:26 +0700 Subject: [PATCH 3/3] fix: validate display uuid --- .../item-queue/infrastructure/item-queue-read.controller.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts b/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts index a73d60f..512f2e1 100644 --- a/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts +++ b/src/modules/item-related/item-queue/infrastructure/item-queue-read.controller.ts @@ -13,6 +13,7 @@ import { ItemQueueReadOrchestrator } from '../domain/usecases/item-queue-read.or import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { MODULE_NAME } from 'src/core/strings/constants/module.constants'; import { Public } from 'src/core/guards'; +import { validate as isValidUUID } from 'uuid'; @ApiTags(`${MODULE_NAME.ITEM_QUEUE.split('-').join(' ')} - read`) @Controller(`v1/${MODULE_NAME.ITEM_QUEUE}`) @@ -50,7 +51,7 @@ export class ItemQueueReadController { @Get('display/:id') @Public(true) async detailPublic(@Param('id') id: string): Promise { - if (!id) throw new UnauthorizedException('id is required'); + if (!isValidUUID(id)) throw new UnauthorizedException('id is required'); return await this.orchestrator.detail(id); } } -- 2.40.1