From 687ec4357fa1da2e31fcd34d8f9286731c5e60e2 Mon Sep 17 00:00:00 2001 From: rakeshSgr Date: Mon, 16 Dec 2024 13:43:27 +0530 Subject: [PATCH 1/3] kb user profile read api updated --- sunbird-user/constants/routes.js | 38 ++++++++++++++++++++++- sunbird-user/controllers/user.js | 52 ++++++++++++++++++++++++++++++-- 2 files changed, 87 insertions(+), 3 deletions(-) diff --git a/sunbird-user/constants/routes.js b/sunbird-user/constants/routes.js index 739a4c1b..0ca9b985 100644 --- a/sunbird-user/constants/routes.js +++ b/sunbird-user/constants/routes.js @@ -874,7 +874,43 @@ module.exports = { type: 'POST', }, }, - + { + sourceRoute: '/interface/v1/mentors/details/:id', + type: 'POST', + inSequence: true, + orchestrated: true, + targetRoute: { + paths: [ + { path: '/private/user/v1/read/:id', type: 'GET' }, + { + baseUrl: 'http://lms-service:9000', + path: '/private/v3/user/courses/list/:id', + type: 'GET', + }, + ], + functionName: 'readUserById', + }, + }, + { + sourceRoute: '/interface/v1/profile/read', + type: 'GET', + inSequence: true, + orchestrated: true, + targetRoute: { + paths: [ + { + path: '/private/user/v1/read/:id', + type: 'GET' + }, + { + baseUrl: 'http://lms-service:9000', + path: '/private/v3/user/courses/list/:id', + type: 'GET' + } + ], + functionName: 'readUserWithToken' + }, + }, ], } diff --git a/sunbird-user/controllers/user.js b/sunbird-user/controllers/user.js index 2d754487..2d44a059 100644 --- a/sunbird-user/controllers/user.js +++ b/sunbird-user/controllers/user.js @@ -147,7 +147,11 @@ const readUserWithToken = async (req, res, selectedConfig) => { if (token && token.toLowerCase().startsWith('bearer ')) token = token.slice(7) const tokenClaims = jwt.decode(token) - const userId = tokenClaims.sub.split(':').pop() + let userId = tokenClaims.sub.split(':').pop() + + if(req.params.id){ + userId = req.params.id + } const userResponse = await requesters.get(req.baseUrl,targetRoute1.path, req.headers, { id: userId, @@ -263,6 +267,48 @@ const listOrganisation = async (req, res, selectedConfig) => { return res.status(500).json({ error: 'Internal Server Error' }) } } +const mentorDetails = async (req, res, responses) => { + const selectedConfig = routeConfigs.routes.find((obj) => obj.sourceRoute === req.sourceRoute) + + let parameterisedRoute = selectedConfig.targetRoute.path; + + if(req.params.id){ + parameterisedRoute = parameterisedRoute+'/'+req.params.id; + } + let headers = { + 'Content-Type': 'application/json', + 'X-auth-token': req.headers['x-auth-token'], + } + + console.log("parameterisedRoute ---------------",parameterisedRoute); + + + let response = await requesters.get(req.baseUrl, parameterisedRoute,headers,{}) + return response + +} +const userDetails = async (req, res, responses) => { + const selectedConfig = routeConfigs.routes.find((obj) => obj.sourceRoute === req.sourceRoute) + + const parameterisedRoute = selectedConfig.targetRoute.path; + let headers + if (req.params.id) { + headers = { + 'internal_access_token': req.headers['internal_access_token'], + 'Content-Type': 'application/json', + } + } else { + headers = { + 'Content-Type': 'application/json', + 'X-auth-token': req.headers['x-auth-token'], + } + } + + + let response = await requesters.get(req.baseUrl, parameterisedRoute,headers,{}) + return response + +} const userController = { createUser, @@ -273,7 +319,9 @@ const userController = { readUserById, readUserWithToken, accountList, - listOrganisation + listOrganisation, + mentorDetails, + userDetails } module.exports = userController From 1b5fcb8945bc0a312da34aee969b5c3723fe844b Mon Sep 17 00:00:00 2001 From: rakeshSgr Date: Mon, 16 Dec 2024 13:44:24 +0530 Subject: [PATCH 2/3] mentor details api orchastrated --- sunbird-mentoring/constants/routes.js | 24 ++++++++++++- sunbird-mentoring/controllers/mentoring.js | 39 ++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/sunbird-mentoring/constants/routes.js b/sunbird-mentoring/constants/routes.js index 85dad6c4..33d38dcb 100644 --- a/sunbird-mentoring/constants/routes.js +++ b/sunbird-mentoring/constants/routes.js @@ -1522,6 +1522,28 @@ module.exports = { path: '/mentoring/v1/availability/users', type: 'GET', }, - } + }, + { + sourceRoute: '/interface/v1/mentors/details/:id', + type: 'POST', + inSequence: true, + orchestrated: true, + targetRoute: { + path: '/mentoring/v1/mentors/details/:id', + type: 'POST', + functionName: 'mentorDetails', + }, + }, + { + sourceRoute: '/interface/v1/profile/read', + type: 'GET', + inSequence: true, + orchestrated: true, + targetRoute: { + path: '/mentoring/v1/profile/read', + type: 'GET', + functionName: 'mentoringProfile', + }, + }, ], } diff --git a/sunbird-mentoring/controllers/mentoring.js b/sunbird-mentoring/controllers/mentoring.js index bbbb9d69..cf1c32c0 100644 --- a/sunbird-mentoring/controllers/mentoring.js +++ b/sunbird-mentoring/controllers/mentoring.js @@ -43,12 +43,51 @@ const profileRead = async (req, res, selectedConfig) => { } } +const mentorDetails = async (req, res, responses) => { + const selectedConfig = routeConfigs.routes.find((obj) => obj.sourceRoute === req.sourceRoute) + + const parameterisedRoute = req.params.id ? selectedConfig.targetRoute.path.replace('/:id', `/${req.params.id}`) : selectedConfig.targetRoute.path; + let headers + + if (req.params.id) { + headers = { + 'Content-Type': 'application/json', + 'X-auth-token': req.headers['x-auth-token'], + } + } + + console.log("response ============ headers ",headers); + + let response = await requesters.get(req.baseUrl, parameterisedRoute,headers,{}) + return response + +} + +const mentoringProfile = async (req, res, responses) => { + const selectedConfig = routeConfigs.routes.find((obj) => obj.sourceRoute === req.sourceRoute) + + const parameterisedRoute = selectedConfig.targetRoute.path; + let headers + + headers = { + 'Content-Type': 'application/json', + 'X-auth-token': req.headers['x-auth-token'], + } + + let response = await requesters.get(req.baseUrl, parameterisedRoute,headers,{}) + return response + +} + + mentoringController = { createProfile, updateUser, entityTypeRead, rolePermissions, profileRead, + mentorDetails, + mentoringProfile } module.exports = mentoringController From 098a6f2969592611effc80bb689f84070d0b97ee Mon Sep 17 00:00:00 2001 From: rakeshSgr Date: Mon, 16 Dec 2024 13:46:14 +0530 Subject: [PATCH 3/3] package version update --- sunbird-mentoring/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sunbird-mentoring/package.json b/sunbird-mentoring/package.json index 694ae758..90ed207b 100644 --- a/sunbird-mentoring/package.json +++ b/sunbird-mentoring/package.json @@ -1,6 +1,6 @@ { "name": "sunbird-mentoring", - "version": "1.1.60", + "version": "1.1.61", "description": "Npm package for KB-Mentoring service integration with Interface service. ", "main": "index.js", "scripts": {