Commit 92c269af authored by Sourav Dey's avatar Sourav Dey
Browse files

Issue #SB-9180 feat: Changing lock service

parent f42711b0
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 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 15 additions and 2 deletions
+15 -2
......@@ -29,6 +29,7 @@ function createLock (req, response) {
var data = req.body
var rspObj = req.rspObj
var contentBody = ''
var versionKey = ''
if (!req.get('x-device-id')) {
rspObj.errCode = contentMessage.CREATE_LOCK.FAILED_CODE
......@@ -78,6 +79,7 @@ function createLock (req, response) {
return response.status(412).send(respUtil.errorResponse(rspObj))
}
contentBody = body
versionKey = contentBody.contentdata.versionKey
CBW()
})
},
......@@ -92,7 +94,15 @@ function createLock (req, response) {
rspObj.responseCode = responseCode.SERVER_ERROR
return response.status(500).send(respUtil.errorResponse(rspObj))
} else if (result) {
if (req.get('x-authenticated-userid') === result.createdBy) {
if (req.get('x-authenticated-userid') === result.createdBy &&
req.get('x-device-id') === result.deviceId &&
data.request.resourceType === result.resourceType) {
rspObj.result.lockKey = result.lockId
rspObj.result.expiresAt = result.expiresAt
rspObj.result.expiresIn = defaultLockExpiryTime / 60
rspObj.result.versionKey = versionKey
return response.status(200).send(respUtil.successResponse(rspObj))
} else if (req.get('x-authenticated-userid') === result.createdBy) {
rspObj.errMsg = contentMessage.CREATE_LOCK.SAME_USER_ERR_MSG
var statusCode = 400
} else {
......@@ -137,7 +147,7 @@ function createLock (req, response) {
'request': {
'content': {
'lockKey': lockId,
'versionKey': contentBody.contentdata.versionKey
'versionKey': versionKey
}
}
}
......@@ -148,6 +158,7 @@ function createLock (req, response) {
// Sending success CBW as content is already locked in db and ignoring content update error
CBW(null, res)
} else {
versionKey = res.result.versionKey
CBW(null, res)
}
})
......@@ -156,6 +167,7 @@ function createLock (req, response) {
rspObj.result.lockKey = lockId
rspObj.result.expiresAt = newDateObj
rspObj.result.expiresIn = defaultLockExpiryTime / 60
rspObj.result.versionKey = versionKey
return response.status(200).send(respUtil.successResponse(rspObj))
}
])
......@@ -223,6 +235,7 @@ function refreshLock (req, response) {
rspObj.responseCode = responseCode.SERVER_ERROR
return response.status(500).send(respUtil.errorResponse(rspObj))
} else if (result) {
lockId = result.lockId
if (result.createdBy !== req.get('x-authenticated-userid')) {
rspObj.errCode = contentMessage.REFRESH_LOCK.FAILED_CODE
rspObj.errMsg = contentMessage.REFRESH_LOCK.UNAUTHORIZED
......
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