From 218886735f61936c8a1dd965fcb93fa058874479 Mon Sep 17 00:00:00 2001
From: anoophm <anoophm44@gmail.com>
Date: Fri, 22 Jun 2018 01:06:03 +0530
Subject: [PATCH] Issue #SB-4786 fix: Default channel for telemetry

---
 src/app.js | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/app.js b/src/app.js
index c61b403..2f0db0d 100644
--- a/src/app.js
+++ b/src/app.js
@@ -12,7 +12,7 @@ var _ = require('underscore')
 var filename = path.basename(__filename)
 var utilsService = require('./service/utilsService')
 var LOG = require('sb_logger_util')
-
+const contentProvider = require('sb_content_provider_util')
 // TODO below configuration should to be refactored in a seperate file
 
 const contentProviderConfigPath = path.join(__dirname, '/config/contentProviderApiConfig.json')
@@ -22,14 +22,13 @@ const telemtryEventConfig = JSON.parse(fs.readFileSync(path.join(__dirname, 'con
 var reqDataLimitOfContentUpload = '50mb'
 
 const port = process.env.sunbird_content_service_port ? process.env.sunbird_content_service_port : 5000
+const DEFAULT_TENANT = process.env.sunbird_default_channel
 
 globalEkstepProxyBaseUrl = process.env.sunbird_content_plugin_base_url ? process.env.sunbird_content_plugin_base_url : 'https://qa.ekstep.in'
 
 const contentProviderBaseUrl = process.env.sunbird_content_provider_api_base_url ? process.env.sunbird_content_provider_api_base_url : 'https://qa.ekstep.in/api'
 const contentProviderApiKey = process.env.sunbird_content_provider_api_key
 
-const telemetryBaseUrl = process.env.sunbird_telemetry_service_local_url ? process.env.sunbird_telemetry_service_local_url : 'http://telemetry-service:9001/'
-
 const learnerServiceApiKey = process.env.sunbird_learner_service_api_key
 const learnerServiceBaseUrl = process.env.sunbird_learner_service_base_url ? process.env.sunbird_learner_service_base_url : 'https://dev.open-sunbird.org/api'
 
@@ -44,7 +43,6 @@ const producerId = process.env.sunbird_environment + '.' + process.env.sunbird_i
 
 configUtil.setContentProviderApi(contentProviderApiConfig.API)
 configUtil.setConfig('BASE_URL', contentProviderBaseUrl)
-configUtil.setConfig('TELEMETRY_BASE_URL', telemetryBaseUrl)
 configUtil.setConfig('Authorization_TOKEN', 'Bearer ' + contentProviderApiKey)
 configUtil.setConfig('LEARNER_SERVICE_BASE_URL', learnerServiceBaseUrl)
 configUtil.setConfig('LEARNER_SERVICE_LOCAL_BASE_URL', learnerServiceLocalBaseUrl)
@@ -113,14 +111,23 @@ require('./routes/externalUrlMetaRoute')(app)
 require('./middlewares/proxy.middleware')(app)
 
 // Create server
-this.server = http.createServer(app).listen(port, function () {
-  console.log('server running at PORT [%d]', port)
-  if (!process.env.sunbird_environment || !process.env.sunbird_instance) {
-    console.error('please set environment variable sunbird_environment, sunbird_instance  ' +
-    'start service Eg: sunbird_environment = dev, sunbird_instance = sunbird')
+contentProvider.getChannel(process.env.sunbird_default_tenant, (err, res) => {
+  if (res.result.response.count > 0 && res.result.response.content[0].hashTagId) {
+    configUtil.setConfig('DEFAULT_CHANNEL', res.result.response.content[0].hashTagId)
+    console.log('DEFAULT_CHANNEL', configUtil.getConfig('DEFAULT_CHANNEL'))
+    this.server = http.createServer(app).listen(port, function () {
+      console.log('server running at PORT [%d]', port)
+      if (!process.env.sunbird_environment || !process.env.sunbird_instance) {
+        console.error('please set environment variable sunbird_environment, sunbird_instance, sunbird_default_tenant' +
+        'start service Eg: sunbird_environment = dev, sunbird_instance = sunbird')
+        process.exit(1)
+      }
+      updateConfig(getFilterConfig())
+    })
+  } else {
+    console.log('error in fetching default channel', err, res)
     process.exit(1)
   }
-  updateConfig(getFilterConfig())
 })
 
 // Close server, when we start for test cases
@@ -145,7 +152,7 @@ const telemetryConfig = {
   method: 'POST',
   batchsize: telemetryBatchSize,
   endpoint: configUtil.getConfig('TELEMETRY'),
-  host: configUtil.getConfig('TELEMETRY_BASE_URL'),
+  host: configUtil.getConfig('BASE_URL'),
   authtoken: configUtil.getConfig('Authorization_TOKEN')
 }
 
-- 
GitLab