@tiledesk/tiledesk-server 2.2.26 → 2.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -0
- package/app.js +72 -2
- package/bin/www +4 -1
- package/config/global.js +2 -0
- package/models/project.js +10 -0
- package/package.json +3 -2
- package/pubmodules/rules/conciergeBot.js +5 -2
- package/routes/labels.js +2 -0
- package/routes/project.js +72 -0
- package/routes/request.js +15 -0
- package/routes/user-request.js +15 -0
- package/utils/orgUtil.js +74 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
- Added tag field to the project_user
|
|
5
5
|
- Removed default BCC from email
|
|
6
6
|
- BugFix: Avoid cluster concurrent jobs in multiple nodes
|
|
7
|
+
- Faq template now support blank and example
|
|
8
|
+
- Organizzation support added
|
|
9
|
+
- ipFilter related to the project is now supported
|
|
10
|
+
|
|
11
|
+
# 2.2.26
|
|
12
|
+
- Tag fix for 2.2.25
|
|
7
13
|
|
|
8
14
|
# 2.2.25
|
|
9
15
|
- New label prechat form
|
package/README.md
CHANGED
package/app.js
CHANGED
|
@@ -96,6 +96,7 @@ var faqpub = require('./routes/faqpub');
|
|
|
96
96
|
var labels = require('./routes/labels');
|
|
97
97
|
var fetchLabels = require('./middleware/fetchLabels');
|
|
98
98
|
var cacheUtil = require("./utils/cacheUtil");
|
|
99
|
+
var orgUtil = require("./utils/orgUtil");
|
|
99
100
|
var images = require('./routes/images');
|
|
100
101
|
var files = require('./routes/files');
|
|
101
102
|
var campaigns = require('./routes/campaigns');
|
|
@@ -128,6 +129,10 @@ var pubModulesManager = require('./pubmodules/pubModulesManager');
|
|
|
128
129
|
var channelManager = require('./channels/channelManager');
|
|
129
130
|
channelManager.listen();
|
|
130
131
|
|
|
132
|
+
const ipfilter = require('express-ipfilter').IpFilter
|
|
133
|
+
// const IpDeniedError = require('express-ipfilter').IpDeniedError;
|
|
134
|
+
|
|
135
|
+
|
|
131
136
|
var modulesManager = undefined;
|
|
132
137
|
try {
|
|
133
138
|
modulesManager = require('./services/modulesManager');
|
|
@@ -233,7 +238,10 @@ if (process.env.ROUTELOGGER_ENABLED==="true") {
|
|
|
233
238
|
|
|
234
239
|
var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
|
|
235
240
|
winston.debug("fullUrl:"+ fullUrl);
|
|
241
|
+
winston.debug(" req.get('host'):"+ req.get('host'));
|
|
242
|
+
|
|
236
243
|
winston.debug("req.get('origin'):" + req.get('origin'));
|
|
244
|
+
winston.debug("req.get('referer'):" + req.get('referer'));
|
|
237
245
|
|
|
238
246
|
var routerLogger = new RouterLogger({
|
|
239
247
|
origin: req.get('origin'),
|
|
@@ -291,7 +299,7 @@ var projectSetter = function (req, res, next) {
|
|
|
291
299
|
if (err) {
|
|
292
300
|
winston.warn("Problem getting project with id: " + projectid + " req.originalUrl: " + req.originalUrl);
|
|
293
301
|
}
|
|
294
|
-
|
|
302
|
+
|
|
295
303
|
winston.debug("projectSetter project:" + project);
|
|
296
304
|
if (!project) {
|
|
297
305
|
winston.warn("ProjectSetter project not found with id: " + projectid);
|
|
@@ -311,6 +319,53 @@ var projectSetter = function (req, res, next) {
|
|
|
311
319
|
}
|
|
312
320
|
|
|
313
321
|
|
|
322
|
+
function customDetection (req) {
|
|
323
|
+
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
|
|
324
|
+
winston.info("standard ip: "+ip); // ip address of the user
|
|
325
|
+
return ip;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
var projectIpFilter = function (req, res, next) {
|
|
330
|
+
// var projectIpFilter = function (err, req, res, next) {
|
|
331
|
+
|
|
332
|
+
// var ip = require('ip');
|
|
333
|
+
// winston.info("projectIpFilter ip2: " + ip.address() );
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
const nextIp = function(err) {
|
|
337
|
+
winston.info("projectIpFilter next",err);
|
|
338
|
+
|
|
339
|
+
if (err && err.name === "IpDeniedError") {
|
|
340
|
+
winston.info("IpDeniedError");
|
|
341
|
+
return res.status(401).json({ err: "error project ip filter" });
|
|
342
|
+
// next(err)
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
next();
|
|
346
|
+
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
if (!req.project) {
|
|
351
|
+
return next();
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
var projectIpFilterEnabled = req.project.ipFilterEnabled;
|
|
355
|
+
winston.info("project projectIpFilterEnabled: " +projectIpFilterEnabled)
|
|
356
|
+
|
|
357
|
+
var projectIpFilter = req.project.ipFilter
|
|
358
|
+
winston.info("project ipFilter: " + projectIpFilter)
|
|
359
|
+
|
|
360
|
+
if (projectIpFilterEnabled === true && projectIpFilter && projectIpFilter.length > 0) {
|
|
361
|
+
var ip = ipfilter(projectIpFilter, { detectIp: customDetection, mode: 'allow' })
|
|
362
|
+
// var ip = ipfilter(projectIpFilter, { mode: 'allow' })
|
|
363
|
+
ip(req, res, nextIp);
|
|
364
|
+
} else {
|
|
365
|
+
next();
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
}
|
|
314
369
|
|
|
315
370
|
|
|
316
371
|
|
|
@@ -322,6 +377,7 @@ var projectSetter = function (req, res, next) {
|
|
|
322
377
|
// app.post('/oauth/token', oauth2.token);
|
|
323
378
|
|
|
324
379
|
|
|
380
|
+
// const ips = ['::1'];
|
|
325
381
|
|
|
326
382
|
app.use('/auth', auth);
|
|
327
383
|
app.use('/testauth', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken], authtest);
|
|
@@ -355,7 +411,7 @@ if (modulesManager) {
|
|
|
355
411
|
}
|
|
356
412
|
|
|
357
413
|
|
|
358
|
-
app.use('/:projectid/', [projectIdSetter, projectSetter]);
|
|
414
|
+
app.use('/:projectid/', [projectIdSetter, projectSetter, projectIpFilter]);
|
|
359
415
|
|
|
360
416
|
|
|
361
417
|
app.use('/:projectid/authtestWithRoleCheck', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken], authtestWithRoleCheck);
|
|
@@ -447,8 +503,22 @@ app.use(function (err, req, res, next) {
|
|
|
447
503
|
});*/
|
|
448
504
|
|
|
449
505
|
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
450
513
|
// error handler
|
|
451
514
|
app.use((err, req, res, next) => {
|
|
515
|
+
|
|
516
|
+
winston.info("err.name", err.name)
|
|
517
|
+
if (err.name === "IpDeniedError") {
|
|
518
|
+
winston.info("IpDeniedError");
|
|
519
|
+
return res.status(401).json({ err: "error ip filter" });
|
|
520
|
+
}
|
|
521
|
+
|
|
452
522
|
winston.error("General error", err);
|
|
453
523
|
return res.status(500).json({ err: "error" });
|
|
454
524
|
});
|
package/bin/www
CHANGED
|
@@ -32,7 +32,10 @@ webSocketServer.init(httpServer);
|
|
|
32
32
|
* Listen on provided port, on all network interfaces.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
// use ipv4 or ipv6 https://stackoverflow.com/questions/50855419/get-only-ipv4-ips-via-nodejs-express
|
|
36
|
+
// var listener = httpServer.listen(port,'0.0.0.0', function(){
|
|
37
|
+
|
|
38
|
+
var listener = httpServer.listen(port, function(){
|
|
36
39
|
console.log('Listening tiledesk-server ver:'+version+' on port ' + listener.address().port); //Listening on port 8888
|
|
37
40
|
});
|
|
38
41
|
|
package/config/global.js
CHANGED
package/models/project.js
CHANGED
|
@@ -101,6 +101,16 @@ var ProjectSchema = new Schema({
|
|
|
101
101
|
return [new Channel({ name: 'chat21' })];
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
|
+
organization: {
|
|
105
|
+
type: String,
|
|
106
|
+
},
|
|
107
|
+
ipFilterEnabled:{
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: false
|
|
110
|
+
},
|
|
111
|
+
ipFilter: [{
|
|
112
|
+
type: String
|
|
113
|
+
}],
|
|
104
114
|
// defaultLanguage: {
|
|
105
115
|
// type: String,
|
|
106
116
|
// required: true,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiledesk/tiledesk-server",
|
|
3
3
|
"description": "The Tiledesk server module",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.28",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "node ./bin/www",
|
|
7
7
|
"pretest": "mongodb-runner start",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@tiledesk-ent/tiledesk-server-groups": "^1.1.2",
|
|
39
39
|
"@tiledesk-ent/tiledesk-server-jwthistory": "^1.1.9",
|
|
40
40
|
"@tiledesk-ent/tiledesk-server-mt": "^1.1.7",
|
|
41
|
-
"@tiledesk-ent/tiledesk-server-payments": "^1.1.
|
|
41
|
+
"@tiledesk-ent/tiledesk-server-payments": "^1.1.6",
|
|
42
42
|
"@tiledesk-ent/tiledesk-server-queue": "^1.1.11",
|
|
43
43
|
"@tiledesk-ent/tiledesk-server-request-history": "^1.1.5",
|
|
44
44
|
"@tiledesk-ent/tiledesk-server-resthook": "^1.1.53",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"email-templates": "^8.0.8",
|
|
62
62
|
"eventemitter2": "^6.4.4",
|
|
63
63
|
"express": "~4.17.1",
|
|
64
|
+
"express-ipfilter": "^1.2.0",
|
|
64
65
|
"express-session": "^1.17.2",
|
|
65
66
|
"express-validator": "^6.12.1",
|
|
66
67
|
"fast-csv": "^4.3.6",
|
|
@@ -70,8 +70,11 @@ devi mandare un messaggio welcome tu altrimenti il bot inserito successivamente
|
|
|
70
70
|
//TESTA QUESTO
|
|
71
71
|
|
|
72
72
|
winston.debug("message.request.status: "+message.request.status);
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
|
|
74
|
+
winston.debug("message.request.hasBot: "+message.request.hasBot);
|
|
75
|
+
// winston.info("message.request.department.id_bot: "+message.request.department.id_bot);
|
|
76
|
+
if (message.request.status === 50 && message.request.hasBot === false) {
|
|
77
|
+
// if (message.request.status === 50 && message.request.department.id_bot == undefined) {
|
|
75
78
|
//apply only if the status is temp and no bot is available. with agent you must reroute to assign temp request to an agent
|
|
76
79
|
winston.debug("rerouting");
|
|
77
80
|
// reroute(request_id, id_project, nobot)
|
package/routes/labels.js
CHANGED
|
@@ -27,6 +27,8 @@ router.get('/default', function (req, res) {
|
|
|
27
27
|
});
|
|
28
28
|
// curl -v -X POST -H 'Content-Type:application/json' -d '{"lang":"IT"}' http://localhost:3000/123/labels/default/clone
|
|
29
29
|
|
|
30
|
+
// curl -v -X POST -H 'Content-Type:application/json' -u andrea.leo@f21.it:123456 -d '{"lang":"IT"}' http://localhost:3001/624c78e27b91d2a2ab49543a/labels/default/clone
|
|
31
|
+
|
|
30
32
|
router.post('/default/clone',
|
|
31
33
|
[
|
|
32
34
|
passport.authenticate(['basic', 'jwt'], { session: false }),
|
package/routes/project.js
CHANGED
|
@@ -15,6 +15,7 @@ require('../middleware/passport')(passport);
|
|
|
15
15
|
var validtoken = require('../middleware/valid-token')
|
|
16
16
|
var RoleConstants = require("../models/roleConstants");
|
|
17
17
|
var cacheUtil = require('../utils/cacheUtil');
|
|
18
|
+
var orgUtil = require("../utils/orgUtil");
|
|
18
19
|
|
|
19
20
|
router.put('/:projectid', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRole('admin')], function (req, res) {
|
|
20
21
|
winston.debug('UPDATE PROJECT REQ BODY ', req.body);
|
|
@@ -151,6 +152,15 @@ router.put('/:projectid', [passport.authenticate(['basic', 'jwt'], { session: fa
|
|
|
151
152
|
if (req.body.channels!=undefined) {
|
|
152
153
|
update.channels = req.body.channels;
|
|
153
154
|
}
|
|
155
|
+
|
|
156
|
+
if (req.body.ipFilterEnabled!=undefined) {
|
|
157
|
+
update.ipFilterEnabled = req.body.ipFilterEnabled;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (req.body.ipFilter!=undefined) {
|
|
161
|
+
update.ipFilter = req.body.ipFilter;
|
|
162
|
+
}
|
|
163
|
+
|
|
154
164
|
|
|
155
165
|
// if (req.body.defaultLanguage!=undefined) {
|
|
156
166
|
// update.defaultLanguage = req.body.defaultLanguage;
|
|
@@ -291,6 +301,13 @@ router.patch('/:projectid', [passport.authenticate(['basic', 'jwt'], { session:
|
|
|
291
301
|
update.channels = req.body.channels;
|
|
292
302
|
}
|
|
293
303
|
|
|
304
|
+
if (req.body.ipFilterEnabled!=undefined) {
|
|
305
|
+
update.ipFilterEnabled = req.body.ipFilterEnabled;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
if (req.body.ipFilter!=undefined) {
|
|
309
|
+
update.ipFilter = req.body.ipFilter;
|
|
310
|
+
}
|
|
294
311
|
|
|
295
312
|
// if (req.body.defaultLanguage!=undefined) {
|
|
296
313
|
// update.defaultLanguage = req.body.defaultLanguage;
|
|
@@ -362,6 +379,61 @@ router.get('/', [passport.authenticate(['basic', 'jwt'], { session: false }), va
|
|
|
362
379
|
return res.status(500).send({ success: false, msg: 'Error getting object.' });
|
|
363
380
|
}
|
|
364
381
|
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
//organization: if third sub domain iterate and put only project with organization==subdomain otherwise remove projects with org
|
|
385
|
+
winston.info("orgUtil.ORGANIZATION_ENABLED: " + orgUtil.ORGANIZATION_ENABLED);
|
|
386
|
+
if (orgUtil.ORGANIZATION_ENABLED == true ) {
|
|
387
|
+
|
|
388
|
+
// winston.info("project_users", project_users);
|
|
389
|
+
winston.info("project_users.length:"+ project_users.length);
|
|
390
|
+
|
|
391
|
+
let org = orgUtil.getOrg(req);
|
|
392
|
+
winston.info("org:"+ org);
|
|
393
|
+
|
|
394
|
+
if (org!=undefined) {
|
|
395
|
+
winston.info("org!=undefined");
|
|
396
|
+
|
|
397
|
+
var project_users = project_users.filter(function (projectUser) {
|
|
398
|
+
if (projectUser.id_project.organization && projectUser.id_project.organization === org ) {
|
|
399
|
+
winston.info("keep");
|
|
400
|
+
return true;
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
/* for (var i = 0; i < project_users.length; i++) {
|
|
405
|
+
winston.info("project_users[i].id_project.organization: " + project_users[i].id_project.organization);
|
|
406
|
+
if (project_users[i].id_project.organization && project_users[i].id_project.organization === org ) {
|
|
407
|
+
//keep
|
|
408
|
+
winston.info("keep");
|
|
409
|
+
} else {
|
|
410
|
+
// project_users.splice(i, 1); // 2nd parameter means remove one item only
|
|
411
|
+
winston.info("splice");
|
|
412
|
+
}
|
|
413
|
+
}*/
|
|
414
|
+
} else {
|
|
415
|
+
|
|
416
|
+
var project_users = project_users.filter(function (projectUser) {
|
|
417
|
+
if (projectUser.id_project.organization == undefined ) {
|
|
418
|
+
// winston.info("keep");
|
|
419
|
+
return true;
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
/*
|
|
425
|
+
for (var i = 0; i < project_users.length; i++) {
|
|
426
|
+
winston.info("project_users[i].id_project.organization: " + project_users[i].id_project.organization);
|
|
427
|
+
if (project_users[i].id_project.organization) {
|
|
428
|
+
project_users.splice(i, 1); // 2nd parameter means remove one item only
|
|
429
|
+
}
|
|
430
|
+
}*/
|
|
431
|
+
}
|
|
432
|
+
} else {
|
|
433
|
+
winston.info("no")
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
|
|
365
437
|
project_users.sort((a, b) => (a.id_project && b.id_project && a.id_project.updatedAt > b.id_project.updatedAt) ? 1 : -1)
|
|
366
438
|
project_users.reverse();
|
|
367
439
|
res.json(project_users);
|
package/routes/request.js
CHANGED
|
@@ -693,6 +693,10 @@ router.get('/', function (req, res, next) {
|
|
|
693
693
|
query.location = req.query.location;
|
|
694
694
|
}
|
|
695
695
|
|
|
696
|
+
if (req.query.ticket_id) {
|
|
697
|
+
query.ticket_id = req.query.ticket_id;
|
|
698
|
+
}
|
|
699
|
+
|
|
696
700
|
// if (req.query.request_id) {
|
|
697
701
|
// console.log('req.query.request_id', req.query.request_id);
|
|
698
702
|
// query.request_id = req.query.request_id;
|
|
@@ -798,6 +802,17 @@ router.get('/', function (req, res, next) {
|
|
|
798
802
|
winston.debug('REQUEST ROUTE - QUERY snap_department_id_bot_exists', query.snap_department_id_bot_exists);
|
|
799
803
|
}
|
|
800
804
|
|
|
805
|
+
if (req.query.snap_lead_lead_id) {
|
|
806
|
+
query["snapshot.lead.lead_id"] = req.query.snap_lead_lead_id;
|
|
807
|
+
winston.debug('REQUEST ROUTE - QUERY snap_lead_lead_id', query.snap_lead_lead_id);
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
if (req.query.channel) {
|
|
811
|
+
query["channel.name"] = req.query.channel
|
|
812
|
+
winston.debug('REQUEST ROUTE - QUERY channel', query.channel);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
|
|
801
816
|
var direction = -1; //-1 descending , 1 ascending
|
|
802
817
|
if (req.query.direction) {
|
|
803
818
|
direction = req.query.direction;
|
package/routes/user-request.js
CHANGED
|
@@ -4,6 +4,7 @@ var Request = require("../models/request");
|
|
|
4
4
|
var winston = require('../config/winston');
|
|
5
5
|
const requestEvent = require('../event/requestEvent');
|
|
6
6
|
const { check, validationResult } = require('express-validator');
|
|
7
|
+
var requestService = require('../services/requestService');
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
router.patch('/:requestid/rating', function (req, res) {
|
|
@@ -54,5 +55,19 @@ router.patch('/:requestid/rating', function (req, res) {
|
|
|
54
55
|
});
|
|
55
56
|
|
|
56
57
|
|
|
58
|
+
router.put('/:requestid/closeg', function (req, res) {
|
|
59
|
+
winston.debug(req.body);
|
|
60
|
+
|
|
61
|
+
// closeRequestByRequestId(request_id, id_project)
|
|
62
|
+
return requestService.closeRequestByRequestId(req.params.requestid, req.projectid).then(function(closedRequest) {
|
|
63
|
+
|
|
64
|
+
winston.verbose("request closed", closedRequest);
|
|
65
|
+
|
|
66
|
+
return res.json(closedRequest);
|
|
67
|
+
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
});
|
|
57
72
|
|
|
58
73
|
module.exports = router;
|
package/utils/orgUtil.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
'use strict';
|
|
4
|
+
var global = require('../config/global');
|
|
5
|
+
var email = require('../config/email');
|
|
6
|
+
var winston = require('../config/winston');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OrgUtil {
|
|
12
|
+
|
|
13
|
+
constructor() {
|
|
14
|
+
this.ORGANIZATION_ENABLED = process.env.ORGANIZATION_ENABLED || global.organizationEnabled;
|
|
15
|
+
if (this.ORGANIZATION_ENABLED===true || this.ORGANIZATION_ENABLED === "true") {
|
|
16
|
+
this.ORGANIZATION_ENABLED = true;
|
|
17
|
+
}else {
|
|
18
|
+
this.ORGANIZATION_ENABLED = false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
winston.info("Organization enabled: "+ this.ORGANIZATION_ENABLED );
|
|
22
|
+
|
|
23
|
+
this.ORGANIZATION_BASE_URL = process.env.ORGANIZATION_BASE_URL || global.organizationBaseUrl;
|
|
24
|
+
winston.info("Organization base url: "+ this.ORGANIZATION_BASE_URL );
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
getOrg(req) {
|
|
29
|
+
|
|
30
|
+
// if (this.ORGANIZATION_ENABLED===false) {
|
|
31
|
+
// return undefined;
|
|
32
|
+
// }
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// let host = req.get('host');
|
|
36
|
+
// winston.info("host: "+ host );
|
|
37
|
+
|
|
38
|
+
let origin = req.get('origin');
|
|
39
|
+
winston.info("origin: "+ origin );
|
|
40
|
+
|
|
41
|
+
// winston.info("email: " + email.baseUrl);
|
|
42
|
+
winston.info("this.ORGANIZATION_BASE_URL: " + this.ORGANIZATION_BASE_URL);
|
|
43
|
+
// global.organizationBaseUrl
|
|
44
|
+
// if (host !=email.baseUrl ) {
|
|
45
|
+
if (origin && origin.indexOf(this.ORGANIZATION_BASE_URL)>-1) {
|
|
46
|
+
// if (origin!=this.ORGANIZATION_BASE_URL) {
|
|
47
|
+
// winston.info("host found: "+ host );
|
|
48
|
+
// return host;
|
|
49
|
+
winston.info("origin found: "+ origin );
|
|
50
|
+
return origin;
|
|
51
|
+
}
|
|
52
|
+
winston.info("origin not found: "+ origin );
|
|
53
|
+
|
|
54
|
+
// winston.info("host not found: "+ host );
|
|
55
|
+
// if (host.indexOf("localhost1")>-1) {
|
|
56
|
+
// console.log("host found: "+ host );
|
|
57
|
+
// return "localhost";
|
|
58
|
+
// }
|
|
59
|
+
return undefined;
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
var orgUtil = new OrgUtil();
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
module.exports = orgUtil;
|