diff --git a/src/modules/queue/data/services/ticket.service.ts b/src/modules/queue/data/services/ticket.service.ts index 36255de..c8275ef 100644 --- a/src/modules/queue/data/services/ticket.service.ts +++ b/src/modules/queue/data/services/ticket.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { BaseDataService } from 'src/core/modules/data/service/base-data.service'; import { InjectRepository } from '@nestjs/typeorm'; import { CONNECTION_NAME } from 'src/core/strings/constants/base.constants'; -import { Between, In, Repository } from 'typeorm'; +import { Between, In, IsNull, Not, Repository } from 'typeorm'; import { QueueTicket } from '../../domain/entities/ticket.entity'; import { QueueItemModel, @@ -34,7 +34,21 @@ export class TicketDataService extends BaseDataService { async loginQueue(id: string): Promise { return this.order.findOneOrFail({ relations: ['tickets'], - where: [{ transaction_id: id }, { code: id }], + where: [ + { transaction_id: id }, + { code: id, transaction_id: Not(IsNull()) }, + ], + }); + } + + async ticketByCode(code: string): Promise { + return this.repo.find({ + relations: ['order'], + where: { + order: { + code, + }, + }, }); } diff --git a/src/modules/queue/domain/queue.orchestrator.ts b/src/modules/queue/domain/queue.orchestrator.ts index 87796d8..944cc98 100644 --- a/src/modules/queue/domain/queue.orchestrator.ts +++ b/src/modules/queue/domain/queue.orchestrator.ts @@ -36,7 +36,10 @@ export class QueueOrchestrator { async loginCustomer(id: string): Promise { try { - return await this.dataService.loginQueue(id); + const order = await this.dataService.loginQueue(id); + const tickets = await this.dataService.ticketByCode(order.code); + order.tickets = tickets; + return order; } catch (error) { throw new UnauthorizedException({ message: 'Invoice tidak ditemukan',