feat: Allow users to cancel pending requests and unlink accepted connections.

This commit is contained in:
pradeepkumar
2026-02-02 10:01:00 +05:30
parent 93070474f1
commit 8e71915501
2 changed files with 7 additions and 6 deletions

View File

@@ -175,9 +175,9 @@ export class ConnectionRequestsController {
@Delete(':id') @Delete(':id')
@Roles(UserRole.USER) @Roles(UserRole.USER)
@ApiOperation({ summary: 'Cancel a pending connection request' }) @ApiOperation({ summary: 'Cancel a pending request or unlink an accepted connection' })
@ApiResponse({ status: 200, description: 'Connection request cancelled successfully' }) @ApiResponse({ status: 200, description: 'Connection removed successfully' })
@ApiResponse({ status: 400, description: 'Only pending requests can be cancelled' }) @ApiResponse({ status: 400, description: 'Only pending or accepted connections can be removed' })
@ApiResponse({ status: 403, description: 'Not authorized to cancel this request' }) @ApiResponse({ status: 403, description: 'Not authorized to cancel this request' })
@ApiResponse({ status: 404, description: 'Connection request not found' }) @ApiResponse({ status: 404, description: 'Connection request not found' })
async cancelRequest( async cancelRequest(

View File

@@ -251,7 +251,7 @@ export class ConnectionRequestsService {
} }
/** /**
* Cancel a pending connection request (user only) * Cancel a pending connection request or unlink an accepted connection (user only)
*/ */
async cancelRequest(requestId: string, userId: string) { async cancelRequest(requestId: string, userId: string) {
const request = await this.prisma.connectionRequest.findUnique({ const request = await this.prisma.connectionRequest.findUnique({
@@ -266,8 +266,9 @@ export class ConnectionRequestsService {
throw new ForbiddenException('You are not authorized to cancel this request'); throw new ForbiddenException('You are not authorized to cancel this request');
} }
if (request.status !== ConnectionStatus.PENDING) { // Allow cancelling PENDING requests or unlinking ACCEPTED connections
throw new BadRequestException('Only pending requests can be cancelled'); if (request.status !== ConnectionStatus.PENDING && request.status !== ConnectionStatus.ACCEPTED) {
throw new BadRequestException('Only pending or accepted connections can be removed');
} }
return this.prisma.connectionRequest.delete({ return this.prisma.connectionRequest.delete({