From 6871e65d386907e81b8a0a7761c59ba43c42c64a Mon Sep 17 00:00:00 2001 From: PraveenDass Date: Sun, 7 Dec 2025 18:10:59 +0530 Subject: [PATCH 1/3] program component update issue fix --- module/userProjects/helper.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/module/userProjects/helper.js b/module/userProjects/helper.js index 67d487fc..bf057456 100644 --- a/module/userProjects/helper.js +++ b/module/userProjects/helper.js @@ -119,7 +119,9 @@ module.exports = class UserProjectsHelper { "entityInformation._id", "lastDownloadedAt", "appInformation", - "status" + "status", + "programId", + "isAPrivateProgram" ]); if (!userProject.length > 0) { @@ -174,7 +176,7 @@ module.exports = class UserProjectsHelper { solutionExists = true; } - } else if (data.programName) { + } else if (data.programName && !userProject[0].programId) { if (!userProject[0].solutionInformation) { createNewProgramAndSolution = true; @@ -229,7 +231,7 @@ module.exports = class UserProjectsHelper { return resolve(programAndSolutionInformation); } - if (solutionExists) { + if (solutionExists && userProject[0].isAPrivateProgram) { let updateProgram = await surveyService.removeSolutionsFromProgram( From 7e386b620b866fc257ea4d6afabf60fb2c4284e4 Mon Sep 17 00:00:00 2001 From: PraveenDass Date: Mon, 8 Dec 2025 13:00:28 +0530 Subject: [PATCH 2/3] changes for program component update issue --- generics/constants/api-responses.js | 4 +++- module/userProjects/helper.js | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/generics/constants/api-responses.js b/generics/constants/api-responses.js index 568265f4..7881f7fc 100644 --- a/generics/constants/api-responses.js +++ b/generics/constants/api-responses.js @@ -135,5 +135,7 @@ module.exports = { "NOT_ELIGIBLE_FOR_CERTIFICATE" : "Project is not eligible for certificate", "ISSUER_KID_NOT_FOUND" : "Failed to fetch certificate issuer kid", "PROJECT_SUBMITTED_FOR_REISSUE" : "Submitted for project certificate reIssue", - "FAILED_TO_START_RESOURCE": "There was an error in starting/joining. Please try again after some time." + "FAILED_TO_START_RESOURCE": "There was an error in starting/joining. Please try again after some time.", + "REQUIRED_PROGRAM_ID": "Required program id", + }; diff --git a/module/userProjects/helper.js b/module/userProjects/helper.js index bf057456..b65e6c94 100644 --- a/module/userProjects/helper.js +++ b/module/userProjects/helper.js @@ -160,6 +160,19 @@ module.exports = class UserProjectsHelper { } let createNewProgramAndSolution = false; let solutionExists = false; + + if ( + (userProject[0].programId && !data.programId) || + (userProject[0].solutionInformation?._id && !data.solutionId) + ) { + throw { + status: HTTP_STATUS_CODE['bad_request'].status, + message: + userProject[0].programId && !data.programId + ? CONSTANTS.apiResponses.REQUIRED_PROGRAM_ID + : CONSTANTS.apiResponses.REQUIRED_SOLUTION_ID + }; + } if (data.programId && data.programId !== "") { @@ -176,7 +189,7 @@ module.exports = class UserProjectsHelper { solutionExists = true; } - } else if (data.programName && !userProject[0].programId) { + } else if (data.programName) { if (!userProject[0].solutionInformation) { createNewProgramAndSolution = true; From 9672be9917ac44b9e8fa8e28fce0c828fd168f0c Mon Sep 17 00:00:00 2001 From: PraveenDass Date: Wed, 10 Dec 2025 11:05:33 +0530 Subject: [PATCH 3/3] restricts keys to update --- module/userProjects/helper.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/module/userProjects/helper.js b/module/userProjects/helper.js index b65e6c94..d779658a 100644 --- a/module/userProjects/helper.js +++ b/module/userProjects/helper.js @@ -376,6 +376,15 @@ module.exports = class UserProjectsHelper { if ( data.status == CONSTANTS.common.COMPLETED_STATUS || data.status == CONSTANTS.common.SUBMITTED_STATUS ) { updateProject.completedDate = new Date(); } + + // remove restricted keys + updateProject = _.omit(updateProject, [ + "programInformation", + "solutionInformation", + "programId", + "solutionId" + ]); + let projectUpdated = await projectQueries.findOneAndUpdate(