Skip to content

Commit b73d40e

Browse files
committed
Improved feedback url's
* remove env.feedbackUrl and env.autoReportUrl * try to get server from last instance, if not available in env or clientConfig
1 parent b679fa7 commit b73d40e

File tree

1 file changed

+36
-15
lines changed

1 file changed

+36
-15
lines changed

app/ui/feedback/controller.js

+36-15
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const archiver = require('archiver');
1111
const request = require('request');
1212
const logger = require('../../lib/logger.js');
1313
const globalConfig = require('../../lib/global-config.js');
14+
const instance = require('../../lib/instance.js');
1415
const url = require('url');
1516

1617
module.exports = function(env, clientConfig) {
@@ -40,22 +41,44 @@ module.exports = function(env, clientConfig) {
4041
}
4142
}
4243

43-
function sendRequest(feedbackUrl, text, archive) {
44-
return new Promise((resolve, reject) => {
45-
if(!feedbackUrl) {
46-
var blnUrl = clientConfig.has('blnUrl') ? clientConfig.get('blnUrl') : env.blnUrl;
44+
function getFeedbackUrl() {
45+
var endpoint = '/api/v2/feedbacks'
46+
var blnUrl = clientConfig.has('blnUrl') ? clientConfig.get('blnUrl') : env.blnUrl;
4747

48-
if(!blnUrl) {
49-
logger.error('blnUrl is neither set in clientConfig nor in env, can\'t send feedback', {
50-
category: 'feedback',
51-
});
48+
if(blnUrl) return `${blnUrl}${endpoint}`;
5249

53-
return reject();
54-
}
50+
logger.debug('blnUrl is not set, trying to get url from lastActiveInstance', {
51+
category: 'feedback',
52+
lastActiveInstance: instance.getLastActiveInstance()
53+
});
54+
55+
try {
56+
var last = instance.getInstanceByName(instance.getLastActiveInstance());
57+
58+
if(last && last.server) {
59+
return `${last.server}${endpoint}`;
60+
}
61+
} catch(err) {
62+
logger.error('could not get lastActiveinstance', {category: 'feedback', err});
63+
}
64+
65+
return
66+
}
67+
68+
function sendRequest(text, archive) {
69+
return new Promise((resolve, reject) => {
70+
var feedbackUrl = getFeedbackUrl();
5571

56-
feedbackUrl = `${blnUrl}/api/v2/feedbacks`;
72+
if(!feedbackUrl) {
73+
logger.error('blnUrl is not set, can\'t send feedback', {
74+
category: 'feedback',
75+
});
76+
77+
return reject();
5778
}
5879

80+
logger.info('Sending feedback', {category: 'feedback', feedbackUrl});
81+
5982
var formData = {feedback: text};
6083

6184
if(archive) {
@@ -125,8 +148,7 @@ module.exports = function(env, clientConfig) {
125148

126149
archive.finalize();
127150

128-
// TODO pixtron - iss-217 - document configuration change env.autoReportPutUrl -> env.autoReportUrl
129-
sendRequest(env.autoReportUrl, text, archive)
151+
sendRequest(text, archive)
130152
}
131153

132154

@@ -179,8 +201,7 @@ module.exports = function(env, clientConfig) {
179201
});
180202
}
181203

182-
// TODO pixtron - iss-217 - document configuration change env.feedbackPutUrl -> env.feedbackUrl
183-
sendRequest(env.feedbackUrl, text, archive).then(resolve).catch(reject)
204+
sendRequest(text, archive).then(resolve).catch(reject)
184205
});
185206
}
186207

0 commit comments

Comments
 (0)