fix: throw error when display id is undefined #127

Merged
irfan merged 3 commits from development into production 2025-01-23 15:15:43 +00:00
2 changed files with 13 additions and 2 deletions

View File

@ -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 { FilterItemQueueDto } from './dto/filter-item-queue.dto';
import { Pagination } from 'src/core/response'; import { Pagination } from 'src/core/response';
import { PaginationResponse } from 'src/core/response/domain/ok-response.interface'; import { PaginationResponse } from 'src/core/response/domain/ok-response.interface';
@ -7,6 +13,7 @@ import { ItemQueueReadOrchestrator } from '../domain/usecases/item-queue-read.or
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { MODULE_NAME } from 'src/core/strings/constants/module.constants'; import { MODULE_NAME } from 'src/core/strings/constants/module.constants';
import { Public } from 'src/core/guards'; import { Public } from 'src/core/guards';
import { validate as isValidUUID } from 'uuid';
@ApiTags(`${MODULE_NAME.ITEM_QUEUE.split('-').join(' ')} - read`) @ApiTags(`${MODULE_NAME.ITEM_QUEUE.split('-').join(' ')} - read`)
@Controller(`v1/${MODULE_NAME.ITEM_QUEUE}`) @Controller(`v1/${MODULE_NAME.ITEM_QUEUE}`)
@ -44,6 +51,7 @@ export class ItemQueueReadController {
@Get('display/:id') @Get('display/:id')
@Public(true) @Public(true)
async detailPublic(@Param('id') id: string): Promise<ItemQueueEntity> { async detailPublic(@Param('id') id: string): Promise<ItemQueueEntity> {
if (!isValidUUID(id)) throw new UnauthorizedException('id is required');
return await this.orchestrator.detail(id); return await this.orchestrator.detail(id);
} }
} }

View File

@ -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); await notification.queueProcess(payload);
this.service.updateLastNotification(queueId, currentTime); this.service.updateLastNotification(queueId, currentTime);
} }