From d81e4d137cc8dc7a063119163c65b4bee17f4405 Mon Sep 17 00:00:00 2001 From: sumanvpacewisdom Date: Fri, 27 Feb 2026 13:20:12 +0530 Subject: [PATCH] Refactor mentees.js to enhance query processing by integrating validation and filtering logic. This update ensures proper handling of tenant codes and improves the clarity of connected mentee retrieval. --- src/services/mentees.js | 49 ++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src/services/mentees.js b/src/services/mentees.js index 866d650ab..06d351903 100644 --- a/src/services/mentees.js +++ b/src/services/mentees.js @@ -1525,17 +1525,33 @@ module.exports = class MenteesHelper { const query = utils.processQueryParametersWithExclusions(queryParams) const userExtensionModelName = await menteeQueries.getModelName() + const defaults = await getDefaults() + if (!defaults.tenantCode) + return responses.failureResponse({ + message: 'DEFAULT_ORG_CODE_NOT_SET', + statusCode: httpStatusCode.bad_request, + responseCode: 'CLIENT_ERROR', + }) + + let validationData = await entityTypeCache.getEntityTypesAndEntitiesWithCache( + { + status: common.ACTIVE_STATUS, + model_names: { [Op.overlap]: [userExtensionModelName] }, + }, + tenantCode, + organizationCode, + userExtensionModelName + ) + + let filteredQuery = utils.validateAndBuildFilters(query, validationData) + let connectedMenteeIds = [] let connectedMenteesCount if (queryParams.connected_mentees === 'true') { - const connectedQueryParams = { ...queryParams } - delete connectedQueryParams.connected_mentees - const connectedQuery = utils.processQueryParametersWithExclusions(connectedQueryParams) - const connectionDetails = await connectionQueries.getConnectionsDetails( pageNo, pageSize, - connectedQuery, + filteredQuery, searchText, queryParams.mentorId ? queryParams.mentorId : userId, organization_codes, @@ -1547,9 +1563,6 @@ module.exports = class MenteesHelper { pageNo = null pageSize = null connectedMenteeIds = connectionDetails.data.map((item) => item.user_id) - // if (!connectedMenteeIds.includes(userId)) { - // connectedMenteeIds.push(userId) - // } } if (typeof connectionDetails?.count === 'number') { connectedMenteesCount = connectionDetails.count @@ -1568,26 +1581,6 @@ module.exports = class MenteesHelper { } } - const defaults = await getDefaults() - if (!defaults.tenantCode) - return responses.failureResponse({ - message: 'DEFAULT_ORG_CODE_NOT_SET', - statusCode: httpStatusCode.bad_request, - responseCode: 'CLIENT_ERROR', - }) - - let validationData = await entityTypeCache.getEntityTypesAndEntitiesWithCache( - { - status: common.ACTIVE_STATUS, - model_names: { [Op.overlap]: [userExtensionModelName] }, - }, - tenantCode, - organizationCode, - userExtensionModelName - ) - - let filteredQuery = utils.validateAndBuildFilters(query, validationData) - const emailIds = [] const searchTextArray = searchText ? searchText.split(',') : []