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')
@Roles(UserRole.USER)
@ApiOperation({ summary: 'Cancel a pending connection request' })
@ApiResponse({ status: 200, description: 'Connection request cancelled successfully' })
@ApiResponse({ status: 400, description: 'Only pending requests can be cancelled' })
@ApiOperation({ summary: 'Cancel a pending request or unlink an accepted connection' })
@ApiResponse({ status: 200, description: 'Connection removed successfully' })
@ApiResponse({ status: 400, description: 'Only pending or accepted connections can be removed' })
@ApiResponse({ status: 403, description: 'Not authorized to cancel this request' })
@ApiResponse({ status: 404, description: 'Connection request not found' })
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) {
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');
}
if (request.status !== ConnectionStatus.PENDING) {
throw new BadRequestException('Only pending requests can be cancelled');
// Allow cancelling PENDING requests or unlinking ACCEPTED connections
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({