From f4a42c496f7cbda9fb68f70138b1362f50a0fea0 Mon Sep 17 00:00:00 2001 From: Shubham Kumar Date: Wed, 13 May 2026 18:46:33 +0530 Subject: [PATCH] ContextId Changes In List API --- .../response/controllers/response.controller.ts | 2 +- src/modules/response/services/response.service.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/modules/response/controllers/response.controller.ts b/src/modules/response/controllers/response.controller.ts index 2f789de0..482b921a 100644 --- a/src/modules/response/controllers/response.controller.ts +++ b/src/modules/response/controllers/response.controller.ts @@ -67,7 +67,7 @@ export class ResponseController { @ApiOkResponse({ description: 'Responses fetched successfully' }) public async findAll( @Req() request: Request, - @Body() body: { page?: number; limit?: number; sortBy?: string; sortOrder?: 'ASC' | 'DESC' }, + @Body() body: { page?: number; limit?: number; sortBy?: string; sortOrder?: 'ASC' | 'DESC'; contextIds?: string[] }, @Res() response: Response, @GetTenantId() tenantId: string, @Param('surveyId', ParseUUIDPipe) surveyId: string, diff --git a/src/modules/response/services/response.service.ts b/src/modules/response/services/response.service.ts index 86f5c2d8..aae0acbf 100644 --- a/src/modules/response/services/response.service.ts +++ b/src/modules/response/services/response.service.ts @@ -6,7 +6,7 @@ import { HttpStatus, } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; +import { In, Repository } from 'typeorm'; import { Request, Response } from 'express'; import { SurveyResponse, @@ -160,7 +160,7 @@ export class ResponseService { request: Request, tenantId: string, surveyId: string, - pagination: { page?: number; limit?: number; sortBy?: string; sortOrder?: 'ASC' | 'DESC' }, + pagination: { page?: number; limit?: number; sortBy?: string; sortOrder?: 'ASC' | 'DESC'; contextIds?: string[] }, response: Response, ) { const apiId = APIID.RESPONSE_LIST; @@ -172,7 +172,11 @@ export class ResponseService { const skip = (page - 1) * limit; const [responses, total] = await this.responseRepo.findAndCount({ - where: { tenantId, surveyId }, + where: { + tenantId, + surveyId, + ...(pagination.contextIds?.length ? { contextId: In(pagination.contextIds) } : {}), + }, order: { [sortBy]: sortOrder }, skip, take: limit,