From 5265cec4ac2f443d05d48c79531a6a1f487ea3b9 Mon Sep 17 00:00:00 2001 From: binayyub4211 Date: Wed, 29 Apr 2026 10:29:08 +0100 Subject: [PATCH] fix: global sync and build fix for disputes --- src/transactions/disputes.controller.ts | 14 +++----------- src/transactions/timeline.service.ts | 11 ++++++----- src/transactions/transactions.module.ts | 1 + src/transactions/transactions.service.ts | 5 +++++ 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/transactions/disputes.controller.ts b/src/transactions/disputes.controller.ts index 9d491a6..6058384 100644 --- a/src/transactions/disputes.controller.ts +++ b/src/transactions/disputes.controller.ts @@ -24,23 +24,15 @@ export class DisputesController { @Post(':id/evidence/:documentId') @ApiOperation({ summary: 'Attach evidence to a dispute' }) @ApiResponse({ status: 200, description: 'Evidence attached successfully' }) - addEvidence( - @Req() req: any, - @Param('id') id: string, - @Param('documentId') documentId: string, - ) { + addEvidence(@Req() req: any, @Param('id') id: string, @Param('documentId') documentId: string) { return this.disputesService.addEvidence(id, req.user.id, documentId); } @Patch(':id/resolve') - @Roles(UserRole.ADMIN) + @Roles('ADMIN' as any) @ApiOperation({ summary: 'Resolve a dispute (Admin only)' }) @ApiResponse({ status: 200, description: 'Dispute resolved successfully' }) - resolve( - @Req() req: any, - @Param('id') id: string, - @Body() dto: ResolveDisputeDto, - ) { + resolve(@Req() req: any, @Param('id') id: string, @Body() dto: ResolveDisputeDto) { return this.disputesService.resolve(id, req.user.id, dto); } diff --git a/src/transactions/timeline.service.ts b/src/transactions/timeline.service.ts index f375429..aec763e 100644 --- a/src/transactions/timeline.service.ts +++ b/src/transactions/timeline.service.ts @@ -36,7 +36,10 @@ export class TimelineService { throw new NotFoundException('Milestone not found'); } - const updateData: any = { ...dto }; + const updateData: any = {}; + if (dto.title) updateData.title = dto.title; + if (dto.description) updateData.description = dto.description; + if (dto.status) updateData.status = dto.status; if (dto.expectedDate) updateData.expectedDate = new Date(dto.expectedDate); if (dto.actualDate) updateData.actualDate = new Date(dto.actualDate); @@ -59,10 +62,8 @@ export class TimelineService { // Check for delays const now = new Date(); const updatedMilestones = milestones.map(m => { - if (m.status === MilestoneStatus.PENDING && new Date(m.expectedDate) < now) { - return { ...m, isOverdue: true }; - } - return { ...m, isOverdue: false }; + const isOverdue = m.status === MilestoneStatus.PENDING && new Date(m.expectedDate) < now; + return { ...m, isOverdue }; }); return { diff --git a/src/transactions/transactions.module.ts b/src/transactions/transactions.module.ts index fb964be..8896f2d 100644 --- a/src/transactions/transactions.module.ts +++ b/src/transactions/transactions.module.ts @@ -1,3 +1,4 @@ +import { Module } from '@nestjs/common'; import { TransactionsService } from './transactions.service'; import { DisputesService } from './disputes.service'; import { TimelineService } from './timeline.service'; diff --git a/src/transactions/transactions.service.ts b/src/transactions/transactions.service.ts index 72c57e0..b5ca2e5 100644 --- a/src/transactions/transactions.service.ts +++ b/src/transactions/transactions.service.ts @@ -30,6 +30,11 @@ export class TransactionsService { return updated; } + // Alias for AdminService compatibility + async updateTransactionStatus(id: string, status: TransactionStatus) { + return this.updateStatus(id, status); + } + async findOne(id: string) { const transaction = await this.prisma.transaction.findUnique({ where: { id },