Skip to content

Commit 816c4a2

Browse files
committed
made appid, userid and developerid requirment optional
1 parent 5a53cb6 commit 816c4a2

File tree

4 files changed

+37
-34
lines changed

4 files changed

+37
-34
lines changed

TODO.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### TODOs
22
| Filename | line # | TODO
33
|:------|:------:|:------
4-
| routes/index.js | 228 | Implement API Generator
4+
| routes/index.js | 229 | Implement API Generator
55
| routes/users.js | 43 | Test users route
66
| services/queue/clock.js | 11 | work on a clock functionality so kue can support scheduled jobs

config/development.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ module.exports = {
2020
gitOAuthToken: process.env.GIT_OAUTH_TOKEN || '2207558a1d72eefa8d836404e4dc2dc07bc46772',
2121
queueUIUsername: process.env.QUEUE_UI_USERNAME || 'admin',
2222
queueUIPassword: process.env.QUEUE_UI_PASSWORD || 'password123/',
23-
queueUIPort: process.env.QUEUE_UI_PORT || 3000
23+
queueUIPort: process.env.QUEUE_UI_PORT || 3000,
24+
enforceUserIdAppIdDeveloperId: process.env.ENFORCE_USER_ID_APP_ID_DEVELOPER_ID || 'yes'
2425
};

config/production.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ module.exports = {
2020
gitOAuthToken: process.env.GIT_OAUTH_TOKEN || '2207558a1d72eefa8d836404e4dc2dc07bc46772',
2121
queueUIUsername: process.env.QUEUE_UI_USERNAME || 'admin',
2222
queueUIPassword: process.env.QUEUE_UI_PASSWORD || 'password123/',
23-
queueUIPort: process.env.QUEUE_UI_PORT || 3000
23+
queueUIPort: process.env.QUEUE_UI_PORT || 3000,
24+
enforceUserIdAppIdDeveloperId: process.env.ENFORCE_USER_ID_APP_ID_DEVELOPER_ID || 'yes'
2425
};

routes/index.js

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ router._sanitizeRequestUrl = function(req) {
3030
host: req.hostname,
3131
pathname: req.originalUrl || req.url,
3232
query: req.query
33-
});
33+
});
3434

3535
return requestUrl.replace(/(password=).*?(&|$)/ig, '$1<hidden>$2');
3636
};
@@ -41,13 +41,13 @@ router._allRequestData = function(req,res,next){
4141
var newRequestData = _.assignIn(requestData, req.params, req.body, req.query);
4242
if(newRequestData[key]){
4343
return newRequestData[key];
44-
}else if(defaultValue){
44+
}else if(defaultValue){
4545
return defaultValue;
46-
}else{
46+
}else{
4747
return false;
48-
}
49-
};
50-
next();
48+
}
49+
};
50+
next();
5151
};
5252

5353
router._enforceUserIdAndAppId = function(req,res,next){
@@ -56,11 +56,11 @@ router._enforceUserIdAndAppId = function(req,res,next){
5656
var developer = req.param('developer');
5757
if(!userId){
5858
return res.badRequest(false,'No userId parameter was passed in the payload of this request. Please pass a userId.');
59-
}else if(!appId){
59+
}else if(!appId){
6060
return res.badRequest(false,'No appId parameter was passed in the payload of this request. Please pass an appId.');
61-
}else if(!developer){
61+
}else if(!developer){
6262
return res.badRequest(false,'No developer parameter was passed in the payload of this request. Please pass a developer id.');
63-
}else{
63+
}else{
6464
req.userId = userId;
6565
req.appId = appId;
6666
req.developer = developer;
@@ -69,7 +69,7 @@ router._enforceUserIdAndAppId = function(req,res,next){
6969
req.body.createdBy = userId;
7070
req.body.developer = developer;
7171
next();
72-
}
72+
}
7373
};
7474

7575
router._APICache = function(req,res,next){
@@ -85,11 +85,11 @@ router._APICache = function(req,res,next){
8585
key.push(req.get('user-agent'));
8686
if(req.userId){
8787
key.push(req.userId);
88-
}
89-
if(req.appId){
88+
}
89+
if(req.appId){
9090
key.push(req.appId);
91-
}
92-
req.cacheKey = key;
91+
}
92+
req.cacheKey = key;
9393
// Remember to delete cache when you get a POST call
9494
// Only cache GET calls
9595
if(req.method === 'GET'){
@@ -99,22 +99,22 @@ req.cacheKey = key;
9999
if(!resp){
100100
// Will be set on successful response
101101
next();
102-
}else{
102+
}else{
103103
res.ok(resp, true);
104-
}
105-
})
104+
}
105+
})
106106
.catch(function(err){
107107
log.error('Failed to get cached data: ', err);
108108
// Don't block the call because of this failure.
109109
next();
110-
});
111-
}else{
110+
});
111+
}else{
112112
if(req.method === 'POST' || req.method === 'PUT' || req.method === 'PUSH'){
113113
req.cache.del(req.cacheKey)
114114
.then(); // No delays
115+
}
116+
next();
115117
}
116-
next();
117-
}
118118

119119
};
120120

@@ -134,7 +134,7 @@ router.use(function(req,res,next){
134134
user: req.userId,
135135
device: req.get('user-agent'),
136136
createdAt: new Date()
137-
};
137+
};
138138

139139
// Dump it in the queue
140140
queue.create('logRequest', reqLog)
@@ -172,7 +172,7 @@ limiter({
172172
expire: config.rateLimitExpiry * 1,
173173
onRateLimited: function (req, res, next) {
174174
next({ message: 'Rate limit exceeded', statusCode: 429 });
175-
}
175+
}
176176
});
177177

178178

@@ -200,21 +200,22 @@ router.use('/', initialize);
200200
//
201201
//
202202

203-
204-
// Make userId compolsory in every request
205-
router.use(router._enforceUserIdAndAppId);
203+
if(config.enforceUserIdAppIdDeveloperId === 'yes'){
204+
// Make userId compolsory in every request
205+
router.use(router._enforceUserIdAndAppId);
206+
}
206207

207208
// Should automatically load routes
208209
// Other routes here
209210
var ourRoutes = {};
210211
var normalizedPath = require("path").join(__dirname, "./");
211212

212213
require("fs").readdirSync(normalizedPath).forEach(function(file) {
213-
var splitFileName = file.split('.');
214-
if(splitFileName[0] !== 'index' && splitFileName[0] !== 'initialize'){
215-
ourRoutes[splitFileName[0]] = require('./'+splitFileName[0]);
216-
router.use('/', ourRoutes[splitFileName[0]]);
217-
}
214+
var splitFileName = file.split('.');
215+
if(splitFileName[0] !== 'index' && splitFileName[0] !== 'initialize'){
216+
ourRoutes[splitFileName[0]] = require('./'+splitFileName[0]);
217+
router.use('/', ourRoutes[splitFileName[0]]);
218+
}
218219
});
219220

220221
router.use(function(req, res, next) { // jshint ignore:line

0 commit comments

Comments
 (0)