Commit e8eb7891 authored by Sourav Dey's avatar Sourav Dey
Browse files

Issue #SB-9180 feat: Changing procy middleware

parents 16ae9101 86e70b46
master dependabot/npm_and_yarn/src/async-2.6.4 dependabot/npm_and_yarn/src/decode-uri-component-0.2.2 dependabot/npm_and_yarn/src/flat-and-mocha-5.0.2 dependabot/npm_and_yarn/src/handlebars-4.7.7 dependabot/npm_and_yarn/src/jsonwebtoken-9.0.0 dependabot/npm_and_yarn/src/lodash-4.17.21 dependabot/npm_and_yarn/src/minimist-and-project-sunbird/telemetry-sdk-and-handlebars-and-mkdirp-1.2.8 release-3.6.0 release-4.3.0 release-4.8.0 release-5.2.0 release-5.3.0 release-5.6.0 release-6.0.0 v1.13.3 v1.13 v1.12 tmp-testPR tmp-sunbird-bootcamp tmp-rjshrjndrn-patch-1 tmp-revert-118-testPR tmp-revert-110-logs tmp-revert-99-revert-98-revert-97-revert-96-rjshrjndrn-patch-1 tmp-revert-98-revert-97-revert-96-rjshrjndrn-patch-1 tmp-revert-97-revert-96-rjshrjndrn-patch-1 tmp-revert-96-rjshrjndrn-patch-1 tmp-release-sonarcloud tmp-release-2.6.0 tmp-release-2.3.0 tmp-release-2.1.1 tmp-release-2.1.0 tmp-release-2.1.0_pluginSearch tmp-release-2.0.0 tmp-release-1.15 tmp-release-1.14.3 tmp-release-1.14 tmp-release-1.14-sp3 tmp-refactored-dev-deploy tmp-master tmp-loadtest tmp-load-testing tmp-jenkins-test tmp-jenkins-pipeline tmp-final-variable-refac tmp-dial-assemble-api tmp-content-update-read tmp-circleci release-5.6.0_RC1 release-5.2.0_RC1 release-4.8.5_RC1 release-4.8.0_RC2 release-4.8.0_RC1 release-4.3.0_RC1 release-3.8.0_RC3 release-3.8.0_RC2 release-3.8.0_RC1 release-3.7.0_RC2 release-3.7.0_RC1 release-3.6.0_RC1 release-3.2.0_RC2 release-3.2.0_RC1 release-3.1.0 release-3.1.0_RC2 release-3.1.0_RC1 release-3.0.1_RC1 release-3.0.0 release-3.0.0_RC1 release-2.10.0 release-2.10.0_RC2 release-2.10.0_RC1 release-2.9.0_RC3 release-2.9.0_RC2 release-2.9.0_RC1 release-2.8.0 release-2.8.0_RC4 release-2.8.0_RC3 release-2.8.0_RC2 release-2.8.0_RC1 release-2.7.0 release-2.7.0_RC2 release-2.7.0_RC1 release-2.6.0 release-2.6.0_RC4 release-2.6.0_RC3 release-2.6.0_RC2 release-2.6.0_RC1 release-2.3.0 release-2.3.0_RC2 release-2.3.0_RC1 release-2.1.1_RC1 release-2.1.0_RC2 release-2.1.0_RC1 release-2.0.0 release-2.0.0_RC5 release-2.0.0_RC4 release-2.0.0_RC3 release-2.0.0_RC2 release-2.0.0_RC1 release-1.15.0 release-1.15_RC7 release-1.15_RC6 release-1.15_RC5 release-1.15_RC4 release-1.15_RC3 release-1.15_RC2 release-1.15_RC1 release-1.14.0
No related merge requests found
Showing with 120 additions and 2 deletions
+120 -2
......@@ -36,6 +36,8 @@
"GET_PUBLISHER_URI": "/dialcode/v3/publisher/read",
"UPDATE_PUBLISHER_URI": "/dialcode/v3/publisher/update",
"UPDATE_COLLABORATOR": "/content/v1/collaborator/update",
"RESERVE_DIALCODE": "/content/v3/dialcode/reserve",
"RELEASE_DIALCODE": "/content/v3/dialcode/release",
"CHANNEL_URI": "/channel/v3/read",
"CHANNEL_LIST_URI": "/channel/v3/list",
......
Subproject commit 2c2c0a2ac5e131eec1d470ac144cbd4643992644
Subproject commit 7a6df7aee074c64ee2400bfb0b051063155e4658
var proxy = require('express-http-proxy')
var contentService = require('../service/contentService')
var collaboratorService = require('../service/collaboratorService')
var dialCodeService = require('../service/dialCodeService')
var lockService = require('../service/lockService')
var requestMiddleware = require('../middlewares/request.middleware')
var configUtil = require('sb-config-util')
......@@ -303,6 +304,26 @@ module.exports = function (app) {
collaboratorService.updateCollaborators
)
app
.route(
'/action' + configUtil.getConfig('RESERVE_DIALCODE') + '/:contentId'
)
.post(
requestMiddleware.createAndValidateRequestBody,
requestMiddleware.validateToken,
dialCodeService.reserveDialCode
)
app
.route(
'/action' + configUtil.getConfig('RELEASE_DIALCODE') + '/:contentId'
)
.patch(
requestMiddleware.createAndValidateRequestBody,
requestMiddleware.validateToken,
dialCodeService.releaseDialCode
)
app
.route(
'/action' + configUtil.getConfig('CREATE_LOCK')
......@@ -341,4 +362,4 @@ module.exports = function (app) {
requestMiddleware.createAndValidateRequestBody,
lockService.listLock
)
}
}
\ No newline at end of file
......@@ -52,4 +52,12 @@ module.exports = function (app) {
app.route(BASE_URL + '/process/status/:processId')
.get(requestMiddleware.createAndValidateRequestBody, dialCodeService.getProcessIdStatusAPI)
app.route(BASE_URL + '/reserve/:contentId')
.post(requestMiddleware.createAndValidateRequestBody, requestMiddleware.validateToken,
dialCodeService.reserveDialCode)
app.route(BASE_URL + '/release/:contentId')
.patch(requestMiddleware.createAndValidateRequestBody, requestMiddleware.validateToken,
dialCodeService.releaseDialCode)
}
......@@ -754,6 +754,86 @@ function getPublisherAPI (req, response) {
])
}
function reserveDialCode (req, response) {
var data = req.body
var rspObj = req.rspObj
async.waterfall([
function (CBW) {
contentProvider.reserveDialcode(req.params.contentId, data, req.headers, function (err, res) {
if (err || res.responseCode !== responseCode.SUCCESS) {
rspObj.errCode = res && res.params ? res.params.err : dialCodeMessage.RELEASE.FAILED_CODE
rspObj.errMsg = res && res.params ? res.params.errmsg : dialCodeMessage.RELEASE.FAILED_MESSAGE
rspObj.responseCode = res && res.responseCode ? res.responseCode : responseCode.CLIENT_ERROR
var httpStatus = res && res.statusCode >= 100 && res.statusCode < 600 ? res.statusCode : 500
return response.status(httpStatus).send(respUtil.errorResponse(rspObj))
} else {
CBW(null, res)
}
})
}, function (res, CBW) {
var requestObj = data && data.request && data.request.dialcodes ? data.request.dialcodes : {}
if (requestObj.qrCodeSpec && !_.isEmpty(requestObj.qrCodeSpec) && res.result.reservedDialcodes &&
res.result.reservedDialcodes.length) {
var batchImageService = new BatchImageService({
width: requestObj.qrCodeSpec.width,
height: requestObj.qrCodeSpec.height,
border: requestObj.qrCodeSpec.border,
text: requestObj.qrCodeSpec.text,
errCorrectionLevel: requestObj.qrCodeSpec.errCorrectionLevel,
color: requestObj.qrCodeSpec.color
})
var channel = _.clone(req.headers['x-channel-id'])
batchImageService.createRequest(res.result.reservedDialcodes, channel, requestObj.publisher, rspObj,
function (err, processId) {
if (err) {
LOG.error(utilsService.getLoggerData(rspObj, 'ERROR', filename, 'generateDialCodeAPI',
'Error while creating request to child process for images creation', err))
res.responseCode = responseCode.PARTIAL_SUCCESS
return response.status(207).send(respUtil.successResponse(res))
} else {
res.result.processId = processId
CBW(null, res)
}
})
} else {
CBW(null, res)
}
},
function (res) {
rspObj.result = res.result
return response.status(200).send(respUtil.successResponse(rspObj))
}
])
}
function releaseDialCode (req, response) {
var data = req.body
var rspObj = req.rspObj
async.waterfall([
function (CBW) {
contentProvider.releaseDialcode(req.params.contentId, data, req.headers, function (err, res) {
if (err || res.responseCode !== responseCode.SUCCESS) {
rspObj.errCode = res && res.params ? res.params.err : dialCodeMessage.RELEASE.FAILED_CODE
rspObj.errMsg = res && res.params ? res.params.errmsg : dialCodeMessage.RELEASE.FAILED_MESSAGE
rspObj.responseCode = res && res.responseCode ? res.responseCode : responseCode.CLIENT_ERROR
var httpStatus = res && res.statusCode >= 100 && res.statusCode < 600 ? res.statusCode : 500
return response.status(httpStatus).send(respUtil.errorResponse(rspObj))
} else {
CBW(null, res)
}
})
},
function (res) {
rspObj.result = res.result
return response.status(200).send(respUtil.successResponse(rspObj))
}
])
}
module.exports.generateDialCodeAPI = generateDialCodeAPI
module.exports.dialCodeListAPI = dialCodeListAPI
module.exports.updateDialCodeAPI = updateDialCodeAPI
......@@ -766,3 +846,5 @@ module.exports.createPublisherAPI = createPublisherAPI
module.exports.createPublisherAPI = createPublisherAPI
module.exports.getPublisherAPI = getPublisherAPI
module.exports.updatePublisherAPI = updatePublisherAPI
module.exports.reserveDialCode = reserveDialCode
module.exports.releaseDialCode = releaseDialCode
......@@ -590,6 +590,11 @@ exports.DIALCODE = {
MISSING_MESSAGE: 'Required fields for get publisher are missing',
FAILED_CODE: 'ERR_GET_PUBLISHER_DIALCODE_FAILED',
FAILED_MESSAGE: 'GET publisher failed'
},
RELEASE: {
FAILED_CODE: 'ERR_RELEASING_DIALCODE_FAILED',
FAILED_MESSAGE: 'Unable to release the dial code'
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment