Skip to content

Commit 8c30489

Browse files
authored
Merge pull request #1721 from ReshmiBabu/topic-performance
C50-591 Swagger documentation for Catalyst-core BOTs
2 parents 8a2da7f + 0ca1a32 commit 8c30489

5 files changed

Lines changed: 1027 additions & 64 deletions

File tree

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

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ limitations under the License.
1616

1717
// This file act as a Controller which contains Authentication logics.
1818

19+
swaggerUi = require('swagger-ui-express'),
20+
swaggerDocument = require('_pr/swagger.json');
1921

2022
var LdapClient = require('_pr/lib/ldap-client');
2123
var usersDao = require('_pr/model/users.js');
@@ -37,10 +39,11 @@ var aws = require('aws-sdk');
3739
var tempAuthToken = require('_pr/model/temp-auth-token');
3840
var Cryptography = require('_pr/lib/utils/cryptography');
3941

40-
module.exports.setRoutes = function(app) {
41-
app.post('/auth/createldapUser', function(req, res) {
42+
module.exports.setRoutes = function (app) {
43+
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
44+
app.post('/auth/createldapUser', function (req, res) {
4245
if (req.body) {
43-
LDAPUser.getLdapUser(function(err, ldapData) {
46+
LDAPUser.getLdapUser(function (err, ldapData) {
4447
if (err) {
4548
logger.error("Failed to get ldap-user: ", err);
4649
return;
@@ -57,7 +60,7 @@ module.exports.setRoutes = function(app) {
5760
adminPass: ldapUser.adminPass
5861
});
5962
logger.debug('Create User request received:', req.body.username, req.body.password.length, req.body.fname, req.body.lname);
60-
ldapClient.createUser(req.body.username, req.body.password, req.body.fname, req.body.lname, function(err, user) {
63+
ldapClient.createUser(req.body.username, req.body.password, req.body.fname, req.body.lname, function (err, user) {
6164
if (err) {
6265
logger.debug('In Error', err);
6366
res.send(err);
@@ -125,17 +128,18 @@ module.exports.setRoutes = function(app) {
125128

126129
app.post('/auth/signin', function(req, res, next) {
127130
if (req.body && req.body.username && req.body.pass) {
131+
console.log(req.body);
128132
if (req.body.username === 'ec2-user') {
129133
var awsMetaData = new aws.MetadataService();
130-
awsMetaData.request('/latest/meta-data/instance-id', function(err, data) {
134+
awsMetaData.request('/latest/meta-data/instance-id', function (err, data) {
131135
if (err) {
132136
logger.error(err, err.stack);
133137
next(err);
134138
} else {
135139
logger.debug("Instance Id is " + data);
136140
var instanceId = data;
137141
var user = {
138-
"cn": req.body.username,
142+
"cn": req.body.username,
139143
"password": req.body.pass
140144
};
141145
req.session.user = user;
@@ -144,7 +148,7 @@ module.exports.setRoutes = function(app) {
144148
user.authorizedfiles = 'Track,Workspace,blueprints,Settings';
145149

146150
if (req.body.authType === 'token') {
147-
AuthToken.createNew(req.session.user, function(err, authToken) {
151+
AuthToken.createNew(req.session.user, function (err, authToken) {
148152
req.session.destroy();
149153
if (err) {
150154
return next(err);
@@ -156,7 +160,7 @@ module.exports.setRoutes = function(app) {
156160
return;
157161
});
158162
} else {
159-
req.logIn(user, function(err) {
163+
req.logIn(user, function (err) {
160164
if (err) {
161165
return next(err);
162166
}
@@ -178,7 +182,7 @@ module.exports.setRoutes = function(app) {
178182

179183
} else if (appConfig.authStrategy.externals) {
180184
logger.debug("LDAP Authentication>>>>>");
181-
passport.authenticate('ldap-custom-auth', function(err, user, info) {
185+
passport.authenticate('ldap-custom-auth', function (err, user, info) {
182186
logger.debug('passport error ==>', err);
183187
logger.debug('passport user ==>', user);
184188
logger.debug('passport info ==>', info);
@@ -195,7 +199,7 @@ module.exports.setRoutes = function(app) {
195199
return res.redirect('/public/login.html?o=try');
196200
}
197201
req.session.user = user;
198-
usersDao.getUser(user.cn, req, function(err, data) {
202+
usersDao.getUser(user.cn, req, function (err, data) {
199203
logger.debug("User is not a Admin.");
200204
if (err) {
201205
req.session.destroy();
@@ -210,7 +214,7 @@ module.exports.setRoutes = function(app) {
210214
user.authorizedfiles = 'Track,Workspace,blueprints,Settings';
211215
if (req.body.authType === 'token') {
212216

213-
AuthToken.createNew(req.session.user, function(err, authToken) {
217+
AuthToken.createNew(req.session.user, function (err, authToken) {
214218
req.session.destroy();
215219
if (err) {
216220
return next(err);
@@ -221,7 +225,7 @@ module.exports.setRoutes = function(app) {
221225
return;
222226
});
223227
} else {
224-
req.logIn(user, function(err) {
228+
req.logIn(user, function (err) {
225229
if (err) {
226230
return next(err);
227231
}
@@ -249,7 +253,7 @@ module.exports.setRoutes = function(app) {
249253
"password": password
250254
};
251255
req.session.user = user;
252-
usersDao.getUser(userName, req, function(err, data) {
256+
usersDao.getUser(userName, req, function (err, data) {
253257
logger.debug("User is not a Admin.");
254258
if (err) {
255259
req.session.destroy();
@@ -260,7 +264,7 @@ module.exports.setRoutes = function(app) {
260264
user.roleId = data[0].userrolename;
261265
if (typeof data[0].password != 'undefined') {
262266
// check for password
263-
authUtil.checkPassword(password, data[0].password, function(err, isMatched) {
267+
authUtil.checkPassword(password, data[0].password, function (err, isMatched) {
264268
if (err) {
265269
req.session.destroy();
266270
next(err);
@@ -280,7 +284,7 @@ module.exports.setRoutes = function(app) {
280284
user.authorizedfiles = 'Track,Workspace,blueprints,Settings';
281285

282286
if (req.body.authType === 'token') {
283-
AuthToken.createNew(req.session.user, function(err, authToken) {
287+
AuthToken.createNew(req.session.user, function (err, authToken) {
284288
req.session.destroy();
285289
if (err) {
286290
return next(err);
@@ -292,7 +296,7 @@ module.exports.setRoutes = function(app) {
292296
return;
293297
});
294298
} else {
295-
req.logIn(user, function(err) {
299+
req.logIn(user, function (err) {
296300
if (err) {
297301
return next(err);
298302
}
@@ -333,14 +337,14 @@ module.exports.setRoutes = function(app) {
333337
}
334338
});
335339

336-
app.get('/auth/signout', function(req, res) {
340+
app.get('/auth/signout', function (req, res) {
337341
logger.debug("/auth/signout. Signing out user")
338342
req.logout(); //passport logout
339343
req.session.destroy();
340344
//checking for any auth token in header
341345
if (req.headers[appConfig.catalystAuthHeaderName]) {
342346
var token = req.headers[appConfig.catalystAuthHeaderName];
343-
AuthToken.removeByToken(token, function(err, removeCount) {
347+
AuthToken.removeByToken(token, function (err, removeCount) {
344348
if (err) {
345349
logger.error("Unable to remove token");
346350
res.status(500).send({
@@ -359,14 +363,14 @@ module.exports.setRoutes = function(app) {
359363

360364
});
361365

362-
app.get('/login', function(req, res) {
366+
app.get('/login', function (req, res) {
363367
res.redirect('/public/login.html');
364368

365369
});
366370

367-
app.get('/auth/userexists/:username', function(req, res) {
371+
app.get('/auth/userexists/:username', function (req, res) {
368372
logger.debug('Enter /auth/userexists/:username. for Username ::' + req.params.username);
369-
LDAPUser.getLdapUser(function(err, ldapData) {
373+
LDAPUser.getLdapUser(function (err, ldapData) {
370374
if (err) {
371375
logger.error("Failed to get ldap-user: ", err);
372376
return;
@@ -383,7 +387,7 @@ module.exports.setRoutes = function(app) {
383387
adminPass: ldapUser.adminPass
384388
});
385389

386-
ldapClient.compare(req.params.username, function(err, status) {
390+
ldapClient.compare(req.params.username, function (err, status) {
387391
res.send(status)
388392
});
389393
} else {
@@ -398,7 +402,7 @@ module.exports.setRoutes = function(app) {
398402
});
399403
});
400404

401-
app.get('/auth/userrole', function(req, res) {
405+
app.get('/auth/userrole', function (req, res) {
402406
res.send(req.session.cuserrole);
403407
});
404408

@@ -411,7 +415,7 @@ module.exports.setRoutes = function(app) {
411415
var token = req.headers[appConfig.catalystAuthHeaderName];
412416
var tempToken = req.query.ttok; // getting temp token
413417
if (token) {
414-
AuthToken.findByToken(token, function(err, authToken) {
418+
AuthToken.findByToken(token, function (err, authToken) {
415419
if (err) {
416420
logger.error('Unable to fetch token from db', err);
417421
res.send(403);
@@ -420,14 +424,14 @@ module.exports.setRoutes = function(app) {
420424
if (authToken) {
421425
req.session.user = authToken.sessionData;
422426
next();
423-
// req.session.destroy();
427+
// req.session.destroy();
424428
} else {
425429
logger.debug("No Valid Session for User - 403");
426430
res.send(403);
427431
}
428432
});
429433
} else if (tempToken) { //checking for temp token
430-
tempAuthToken.findByToken(tempToken, function(err, tempTokenData) {
434+
tempAuthToken.findByToken(tempToken, function (err, tempTokenData) {
431435
if (err) {
432436
logger.error('Unable to fetch token from db', err);
433437
res.send(403);
@@ -450,7 +454,7 @@ module.exports.setRoutes = function(app) {
450454
}
451455
};
452456

453-
var adminVerificationFunc = function(req, res, next) {
457+
var adminVerificationFunc = function (req, res, next) {
454458
logger.debug('here ==>', req.session);
455459
if (req.session && req.session.user) {
456460
if (req.session.user.cn == 'admin') {
@@ -465,7 +469,7 @@ module.exports.setRoutes = function(app) {
465469
}
466470
}
467471

468-
app.get('/auth/getpermissionset', verifySession, function(req, res) {
472+
app.get('/auth/getpermissionset', verifySession, function (req, res) {
469473
logger.debug('hit permissionset ');
470474
var cryptoConfig = appConfig.cryptoSettings;
471475
var cryptography = new Cryptography(cryptoConfig.algorithm,
@@ -475,26 +479,26 @@ module.exports.setRoutes = function(app) {
475479
if (req && req.session && req.session.user) {
476480
//Adding navbar items to be displayed
477481
var topMenu = [];
478-
if(appConfig.licenseKey){
479-
var licenseKey = cryptography.decryptText(appConfig.licenseKey,cryptoConfig.decryptionEncoding,cryptoConfig.encryptionEncoding);
482+
if (appConfig.licenseKey) {
483+
var licenseKey = cryptography.decryptText(appConfig.licenseKey, cryptoConfig.decryptionEncoding, cryptoConfig.encryptionEncoding);
480484

481-
if(licenseKey){
485+
if (licenseKey) {
482486
var _topMenu = licenseKey.split("-");
483487

484-
if(_topMenu[0] == "navbar"){
485-
if(_topMenu.indexOf("b") >= 0){
488+
if (_topMenu[0] == "navbar") {
489+
if (_topMenu.indexOf("b") >= 0) {
486490
topMenu.push("bots")
487491
}
488-
if(_topMenu.indexOf("wz") >= 0){
492+
if (_topMenu.indexOf("wz") >= 0) {
489493
topMenu.push("workzone")
490494
}
491-
if(_topMenu.indexOf("wf") >= 0){
495+
if (_topMenu.indexOf("wf") >= 0) {
492496
topMenu.push("workflow")
493497
}
494-
if(_topMenu.indexOf("t") >= 0){
498+
if (_topMenu.indexOf("t") >= 0) {
495499
topMenu.push("track")
496500
}
497-
if(_topMenu.indexOf("c") >= 0){
501+
if (_topMenu.indexOf("c") >= 0) {
498502
topMenu.push("cloud")
499503
}
500504

@@ -504,11 +508,11 @@ module.exports.setRoutes = function(app) {
504508

505509
}
506510
req.session.user.topMenu = topMenu;
507-
if(process.env.CATALYST_VERSION){
511+
if (process.env.CATALYST_VERSION) {
508512
req.session.user.catalystversion = process.env.CATALYST_VERSION
509513
}
510514

511-
if(process.env.CATALYST_ENV){
515+
if (process.env.CATALYST_ENV) {
512516
req.session.user.catalystenv = process.env.CATALYST_ENV
513517
}
514518

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@
1313

1414
// The file contains all the end points for AppDeploy
1515

16+
swaggerUi = require('swagger-ui-express'),
17+
swaggerDocument = require('_pr/swagger.json');
18+
1619
var logger = require('_pr/logger')(module);
1720
var botService = require('_pr/services/botService.js');
1821
var gitHubModel = require('_pr/model/github/github.js');
1922
module.exports.setRoutes = function(app, sessionVerificationFunc) {
23+
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
2024
app.all('/bot*', sessionVerificationFunc);
2125

2226
/**

0 commit comments

Comments
 (0)