Skip to content

Commit 0ca1a32

Browse files
committed
Resolved conflicts
2 parents 12fd943 + 8a2da7f commit 0ca1a32

12 files changed

Lines changed: 351 additions & 52 deletions

File tree

client/cat3/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/app/app.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ catalystSync.executeScheduledBots();
248248
catalystSync.executeNewScheduledBots();
249249
catalystSync.getBotAuditLogData();
250250
botAuditTrailSummary.createCronJob();
251+
catalystSync.botengineHealth();
251252
server.listen(app.get('port'), function () {
252253
logger.debug('Express server listening on port ' + app.get('port'));
253254
require('_pr/services/noticeService.js').init(io,server.address());

server/app/cronjobs/catalyst-scheduler/catalystScheduler.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var taskDao = require('_pr/model/classes/tasks/tasks.js');
44
var botOld = require('_pr/model/bots/1.0/botOld.js');
55
var botDao = require('_pr/model/bots/1.1/bot.js');
66
var schedulerService = require('_pr/services/schedulerService');
7+
var botengineHealthService = require('_pr/services/botengineHealthService');
78
var async = require('async');
89
var cronTab = require('node-crontab');
910
var auditQueue = require('_pr/config/global-data.js');
@@ -216,6 +217,33 @@ catalystSync.executeNewScheduledBots = function executeNewScheduledBots() {
216217
});
217218
}
218219

220+
catalystSync.botengineHealth = function botengineHealth() {
221+
setInterval( function () {
222+
logger.info("inside catalyst scheduler");
223+
schedulerService.botengineHealth(function(err, data){
224+
if (err) {
225+
logger.error("Failed to sync: ", err);
226+
return;
227+
}else{
228+
console.logs("Sync started for scheduler");
229+
return data;
230+
}
231+
232+
});
233+
logger.info("inside botenginehealth");
234+
botengineHealthService.getTotalAvailability(function(err, data){
235+
if(err){
236+
logger.error("Failed to sync: ", err);
237+
return;
238+
}else{
239+
console.logs("Sync started for availability");
240+
return data;
241+
}
242+
243+
});
244+
},120000)
245+
}
246+
219247
catalystSync.getBotAuditLogData = function getBotAuditLogData(){
220248
logger.debug("Get Bot Audit log Data updating.....")
221249
var limitLogdisplay = 1;

server/app/model/d4dmasters/d4dmastersmodelnew.js

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1687,7 +1687,36 @@ var d4dMastersRemoteBotServer = new mongoose.Schema({
16871687
type: String,
16881688
required: true,
16891689
trim: true
1690-
}
1690+
},
1691+
createdAt: {
1692+
type: String,
1693+
required: true,
1694+
trim: true
1695+
},
1696+
updatedAt: {
1697+
type: String,
1698+
required: true,
1699+
trim: true
1700+
},
1701+
availability: {
1702+
type: Number,
1703+
default:0
1704+
},from_date:{
1705+
type: String,
1706+
required: true,
1707+
default:0
1708+
},
1709+
to_date:{
1710+
type: String,
1711+
required: true,
1712+
default:0
1713+
},
1714+
lastSync: {
1715+
type: Date,
1716+
required: true
1717+
},
1718+
},{
1719+
timestamps: true
16911720
}, {
16921721
collection: 'd4dmastersnew'
16931722
});

server/app/routes/v1.0/routes_audit_trails.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ var instanceLogModel = require('_pr/model/log-trail/instanceLog.js');
2424
var containerLogModel = require('_pr/model/log-trail/containerLog.js');
2525
var apiUtil = require('_pr/lib/utils/apiUtil.js');
2626
var moment = require('moment');
27+
var schedulerService = require('_pr/services/schedulerService');
2728

2829
module.exports.setRoutes = function(app, sessionVerificationFunc) {
2930
app.all('/audit-trail*', sessionVerificationFunc);
@@ -33,6 +34,7 @@ module.exports.setRoutes = function(app, sessionVerificationFunc) {
3334
//adding user to query
3435
req.query.user = req.session.user.cn;
3536
logger.info(req.query.user)
37+
console.log("....................",req.query.user,req.query);
3638
auditTrailService.getAuditTrail(req.query,function(err,auditTrailList){
3739
if(err){
3840
logger.error(err);
@@ -42,6 +44,18 @@ module.exports.setRoutes = function(app, sessionVerificationFunc) {
4244
})
4345
});
4446

47+
app.get('/audit-trail/botengine-health', function(req,res){
48+
49+
// console.log("&&&&&&&&&&&&&&&",req.query.user,req.data);
50+
schedulerService.botengineHealth(req.data,function(err,healthData){
51+
if(err){
52+
logger.error(err);
53+
return res.status(500).send(err);
54+
}
55+
return res.status(200).send(healthData);
56+
})
57+
});
58+
4559
//API for getting the upper metric
4660

4761
app.get('/audit-trail/uppermetric', function(req,res){

server/app/routes/v1.0/routes_authentication.js

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ var usersGroups = require('_pr/model/user-groups.js');
2525
var usersRoles = require('_pr/model/user-roles.js');
2626
var cusers = require('_pr/model/d4dmasters/users.js');
2727
var configmgmtDao = require('_pr/model/d4dmasters/configmgmt');
28+
var d4dModelNew = require('_pr/model/d4dmasters/d4dmastersmodelnew.js');
2829
var logger = require('_pr/logger')(module);
2930
var appConfig = require('_pr/config');
3031
var ldapSettings = appConfig.ldap;
@@ -84,7 +85,48 @@ module.exports.setRoutes = function (app) {
8485
res.send(req.body);
8586
}
8687
});
87-
app.post('/auth/signin', function (req, res, next) {
88+
89+
app.post('/auth/register', function (req, res, next) {
90+
var bodyJson = JSON.parse(JSON.stringify(req.body));
91+
authUtil.hashPassword(bodyJson["password"], function (err, hashedPassword) {
92+
if (err) {
93+
logger.error('Hit error', err);
94+
res.send(500);
95+
return;
96+
}
97+
bodyJson["password"] = hashedPassword;
98+
d4dModelNew.d4dModelMastersUsers.findOne({
99+
loginname: bodyJson["loginname"],
100+
id: '7'
101+
}, function (err, data) {
102+
if(err || Object.keys(data).length === 0) {
103+
logger.error('Hit error', err);
104+
res.status(500).send({err: 'Something went wrong'});
105+
return
106+
}
107+
if(Object.keys(data).length > 0 && !data.active){
108+
d4dModelNew.d4dModelMastersUsers.update({
109+
loginname: bodyJson["loginname"],
110+
id: '7'
111+
},{active: true, password: bodyJson['password']}, function (err, doc) {
112+
if(err){
113+
logger.error('Hit error', err);
114+
res.status(500).send({err:'Something went wrong'});
115+
}else{
116+
logger.info('Updated password successfully');
117+
res.status(204).send({message:'Password set successfully'});
118+
}
119+
})
120+
}else{
121+
logger.error(`Password already registered, can't register again`);
122+
res.status(500).send({err: `Password already registered, can't register again`});
123+
}
124+
125+
})
126+
})
127+
});
128+
129+
app.post('/auth/signin', function(req, res, next) {
88130
if (req.body && req.body.username && req.body.pass) {
89131
console.log(req.body);
90132
if (req.body.username === 'ec2-user') {

server/app/routes/v1.0/routes_d4dMasters.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ var settingsService = require('_pr/services/settingsService');
4545
var organizationService = require('_pr/services/organizationService');
4646
var settingWizard = require('_pr/model/setting-wizard');
4747
var request = require('request');
48+
var schedulerService = require('_pr/services/schedulerService');
4849

4950

5051
module.exports.setRoutes = function (app, sessionVerification) {
@@ -875,6 +876,7 @@ module.exports.setRoutes = function (app, sessionVerification) {
875876
});
876877
} else if (req.params.id === '32') {
877878
// For BOTs Remote Server Detail
879+
console.log("botengine",req.body);
878880
masterUtil.getBotRemoteServerDetails(orgList, function(err, botRemoteServerList) {
879881
if (err) {
880882
res.status(500).send('Not able to fetch BOTs Remote Server Details');
@@ -3044,6 +3046,9 @@ module.exports.setRoutes = function (app, sessionVerification) {
30443046
if(err){
30453047
logger.error("Unable to connect remote server");
30463048
bodyJson["active"] =false;
3049+
bodyJson["lastSync"] =new Date().getTime();
3050+
bodyJson["availability"] =0;
3051+
bodyJson["from_date"] =new Date().getTime();
30473052
var remoteBotServerModel = new d4dModelNew.d4dModelMastersBOTsRemoteServer(bodyJson);
30483053
remoteBotServerModel.save(function (err, data) {
30493054
if (err) {
@@ -3057,6 +3062,8 @@ module.exports.setRoutes = function (app, sessionVerification) {
30573062
});
30583063
}else{
30593064
bodyJson["active"] =true;
3065+
bodyJson["lastSync"] =new Date().getTime();
3066+
bodyJson["availability"] =availability;
30603067
var remoteBotServerModel = new d4dModelNew.d4dModelMastersBOTsRemoteServer(bodyJson);
30613068
remoteBotServerModel.save(function (err, data) {
30623069
if (err) {
@@ -3434,7 +3441,8 @@ module.exports.setRoutes = function (app, sessionVerification) {
34343441
hostPort:bodyJson["hostPort"],
34353442
active:false,
34363443
name:bodyJson["name"],
3437-
osType:bodyJson["osType"]
3444+
osType:bodyJson["osType"],
3445+
lastSync:bodyJson["lastSync"]
34383446
};
34393447
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
34403448
rowid: bodyJson["rowid"],
@@ -3459,7 +3467,8 @@ module.exports.setRoutes = function (app, sessionVerification) {
34593467
hostIP:bodyJson["hostIP"],
34603468
hostPort:bodyJson["hostPort"],
34613469
active:true,
3462-
name:bodyJson["name"]
3470+
name:bodyJson["name"],
3471+
lastSync:bodyJson["lastSync"]
34633472
};
34643473
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
34653474
rowid: bodyJson["rowid"],
@@ -3488,7 +3497,8 @@ module.exports.setRoutes = function (app, sessionVerification) {
34883497
hostPort:bodyJson["hostPort"],
34893498
active:false,
34903499
name:bodyJson["name"],
3491-
osType:bodyJson["osType"]
3500+
osType:bodyJson["osType"],
3501+
lastSync:bodyJson["lastSync"]
34923502
};
34933503
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
34943504
rowid: bodyJson["rowid"],
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
var logger = require('_pr/logger')(module);
2+
var async = require("async");
3+
var crontab = require('node-crontab');
4+
var d4dModelNew = require('_pr/model/d4dmasters/d4dmastersmodelnew.js');
5+
var dateUtil = require('_pr/lib/utils/dateUtil')
6+
7+
8+
var botengineHealthService = module.exports = {};
9+
10+
var date = new Date();
11+
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
12+
13+
botengineHealthService.getTotalAvailability = function getTotalAvailability(totalUnplannedOutageTime,callback) {
14+
15+
var availabilty = [];
16+
var available = [];
17+
var totalUnplannedOutageTime = [];
18+
var lastSync = [];
19+
var lastSync = new Date().getTime();
20+
var curr_time = new Date().getTime();
21+
var totalTime = [];
22+
23+
d4dModelNew.d4dModelMastersBOTsRemoteServer.find({
24+
25+
id: '32'
26+
}, function (err, remoteServerDetails) {
27+
if (err) {
28+
callback(err,null);
29+
return;
30+
}else{
31+
32+
if (remoteServerDetails) {
33+
for(var i=0;i<remoteServerDetails.length;i++){
34+
var lastSync = remoteServerDetails[i].lastSync;
35+
if (remoteServerDetails[i].createdAt < new Date(firstDay).getTime()) {
36+
totalTime[i] = (new Date().getTime() - new Date(firstDay).getTime());
37+
//totalTime[i] = (new Date(firstDay).getTime() - remoteServerDetails[i].lastSync);
38+
//console.log("total timeeeeeee",totalTime[i]);
39+
if(remoteServerDetails[i].active == false){
40+
41+
totalUnplannedOutageTime[i] = (new Date().getTime() - remoteServerDetails[i].from_date);
42+
availabilty[i]= ((Number(totalUnplannedOutageTime[i]) - totalTime[i]) / totalTime[i]) * 100;
43+
//console.log("unplanned outage.........",totalUnplannedOutageTime[i]);
44+
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
45+
id: '32',
46+
rowid: remoteServerDetails[i].rowid
47+
}, { $set: { availability: availabilty[i]} }, function (err, data) {
48+
if (err) {
49+
logger.error('Error in Updating State of Bot-Engine', err);
50+
}
51+
else{
52+
53+
// console.log("Botengine updated successfully")
54+
}
55+
});
56+
57+
58+
}else{
59+
totalUnplannedOutageTime[i] = 0;
60+
availabilty[i]= ((Number(totalUnplannedOutageTime[i]) - totalTime[i]) / totalTime[i]) * 100;
61+
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
62+
id: '32',
63+
rowid: remoteServerDetails[i].rowid
64+
}, { $set: { availability: availabilty[i]} }, function (err, data) {
65+
if (err) {
66+
logger.error('Error in Updating State of Bot-Engine', err);
67+
}
68+
else{
69+
70+
//console.log("Botengine updated successfully")
71+
}
72+
});
73+
}
74+
75+
}
76+
else {
77+
totalTime[i] = (new Date().getTime() - Number(remoteServerDetails[i].createdAt));
78+
//totalTime[i] = (new Date(firstDay).getTime() - remoteServerDetails[i].lastSync);
79+
if(remoteServerDetails[i].active == false){
80+
81+
totalUnplannedOutageTime[i] = (new Date().getTime() - remoteServerDetails[i].from_date);
82+
availabilty[i]= ((Number(totalUnplannedOutageTime[i]) - totalTime[i]) / totalTime[i]) * 100;
83+
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
84+
id: '32',
85+
rowid: remoteServerDetails[i].rowid
86+
}, { $set: { availability: availabilty[i]} }, function (err, data) {
87+
if (err) {
88+
logger.error('Error in Updating State of Bot-Engine', err);
89+
}
90+
else{
91+
92+
// console.log("Botengine updated successfully")
93+
}
94+
});
95+
96+
97+
}else{
98+
totalUnplannedOutageTime[i] = 0;
99+
availabilty[i]= ((Number(totalUnplannedOutageTime[i]) - totalTime[i]) / totalTime[i]) * 100;
100+
d4dModelNew.d4dModelMastersBOTsRemoteServer.update({
101+
id: '32',
102+
rowid: remoteServerDetails[i].rowid
103+
}, { $set: { availability: availabilty[i]} }, function (err, data) {
104+
if (err) {
105+
logger.error('Error in Updating State of Bot-Engine', err);
106+
}
107+
else{
108+
109+
console.log("Botengine updated successfully")
110+
}
111+
});
112+
}
113+
}
114+
}
115+
}
116+
117+
}
118+
119+
});
120+
}
121+
122+

0 commit comments

Comments
 (0)