diff --git a/src/config/telemetryEventConfig.json b/src/config/telemetryEventConfig.json index 9accb148e9597d9cb437f087dd1ea47147d76725..ba9af3eba75a8557b81e715ed2f57eb0ebbbf168 100644 --- a/src/config/telemetryEventConfig.json +++ b/src/config/telemetryEventConfig.json @@ -1,8 +1,8 @@ { "pdata": { - "id": "sunbirdDock.program-service", + "id": "dock.program-service", "ver": "1.0", - "pid": "sunbird-program-service" + "pid": "dock-program-service" }, "API": { "content/search": { diff --git a/src/envVariables.js b/src/envVariables.js index a381e7ba5f08c5b6ab7d8788469a4d57ec2d4d43..dd55c7b4059bbb8f8005ee9f92cd4b73d4fbf175 100644 --- a/src/envVariables.js +++ b/src/envVariables.js @@ -19,9 +19,9 @@ const envVariables = { } }, telemetryConfig: { - host: '', - endpoint: '', - method: '' + host: process.env.telemetry_service_host, + endpoint: process.env.telemetry_service_endpoint, + method: 'POST' } } module.exports = envVariables; diff --git a/src/helpers/helperService.js b/src/helpers/helperService.js index a3cf5ef2eb6aa3be9ba76adb5f01005b1f45e651..0c76a2eb5134072ee9b578def3e1a8db851ab0ad 100644 --- a/src/helpers/helperService.js +++ b/src/helpers/helperService.js @@ -2,10 +2,10 @@ const telemetryService = require('../service/telemetryService'); function manageModelHooks(db) { - db.program.addHook('beforeUpdate', (instance) => {telemetryService.generateAuditEvent(instance, db.program)}); - db.program.addHook('beforeCreate', (instance) => {telemetryService.generateAuditEvent(instance, db.program)}); - db.nomination.addHook('beforeUpdate', (instance) => {telemetryService.generateAuditEvent(instance, db.nomination)}); - db.nomination.addHook('beforeCreate', (instance) => {telemetryService.generateAuditEvent(instance, db.nomination)}); + db.program.addHook('beforeUpdate', (instance) => {telemetryService.generateAuditEvent(instance, db.program, 'update')}); + db.program.addHook('afterCreate', (instance) => {telemetryService.generateAuditEvent(instance, db.program, 'create')}); + db.nomination.addHook('beforeUpdate', (instance) => {telemetryService.generateAuditEvent(instance, db.nomination, 'update')}); + db.nomination.addHook('afterCreate', (instance) => {telemetryService.generateAuditEvent(instance, db.nomination, 'create')}); } module.exports.AttachModelHooks = manageModelHooks; \ No newline at end of file diff --git a/src/service/programService.js b/src/service/programService.js index 6d443c7fb3d1f78c70a10f67b53a70b47936b6a5..3d9ebacfafc481a751a07a52999dd4b02ba8bf2e 100644 --- a/src/service/programService.js +++ b/src/service/programService.js @@ -213,6 +213,7 @@ function programList(req, response) { var data = req.body var rspObj = req.rspObj var res_limit = queryRes_Min; + var res_offset = data.request.offset || 0; if (!data.request || !data.request.filters) { rspObj.errCode = programMessages.READ.MISSING_CODE rspObj.errMsg = programMessages.READ.MISSING_MESSAGE @@ -255,6 +256,7 @@ function programList(req, response) { where: { user_id: data.request.filters.enrolled_id.user_id }, + offset: res_offset, limit: res_limit, include: [{ model: model.program @@ -292,6 +294,7 @@ function programList(req, response) { where:{ $contains: Sequelize.literal(`cast(rolemapping->>'${role}' as text) like ('%${data.request.filters.user_id}%')`) }, + offset: res_offset, limit: res_limit, order: [ ['updatedon', 'DESC'] @@ -331,6 +334,7 @@ function programList(req, response) { where: { ...data.request.filters }, + offset: res_offset, limit: res_limit, order: [ ['updatedon', 'DESC'] @@ -479,6 +483,7 @@ function getNominationsList(req, response) { var data = req.body; var rspObj = req.rspObj; var res_limit = queryRes_Min; + var res_offset = data.request.offset || 0; if (data.request.limit) { res_limit = (data.request.limit < queryRes_Max) ? data.request.limit : (queryRes_Max); } @@ -513,6 +518,7 @@ function getNominationsList(req, response) { where: { ...findQuery }, + offset: res_offset, limit: res_limit, order: [ ['updatedon', 'DESC'] diff --git a/src/service/telemetryService.js b/src/service/telemetryService.js index 5c1d342010b86bb42f7c7cf49f5281c290ff995a..d3a2c6609a65729eb4289d261fd5f5a4ea1e0323 100644 --- a/src/service/telemetryService.js +++ b/src/service/telemetryService.js @@ -9,18 +9,21 @@ function initTelemetry() { config = { host: envVariables.telemetryConfig.host, endpoint: envVariables.telemetryConfig.endpoint, - method: envVariables.telemetryConfig.method + method: envVariables.telemetryConfig.method, + batchsize: 10 } telemetryInstance.init(config); } -function generateAuditEvent(DBinstance, model) { +function generateAuditEvent(DBinstance, model, action) { const event = {}; event['context'] = { pdata: telemetryEventConfig.pdata, env: model.name } event['edata'] = { + state: DBinstance.status || '', + prevstate: action === 'create' ? '' : DBinstance.previous().status || DBinstance.status, props: _.keys(DBinstance.previous()) } event['object'] = {