/** * Authentication callback for PKI authentication * - Look up a user by ID (which, in this simple case, is identical * to the certificate's Common Name attribute). */ function authenticatePki(subject, done) { var msg = 'Attempting PKI authentication'; if(!subject) { console.log(msg + ' ✘ - no subject'.red); done(null, false); } else if(!subject.CN) { console.log(message + '✘ - no client CN'.red); done(null, false); } else { var cn = subject.CN; db.get(cn, function(err, user) { msg = 'Authenticating ' + cn + ' with certificate'; if(!user) { console.log(msg + ' ✘ - no such user'.red); done(null, false); } else { console.log(msg + ' - ✔'.green); delete user.password; done(null, user); } }); } }
return new Promise(function(resolve, reject) { store.get(id, function(err, data) { if (err) { reject(err); } else { resolve(data); } }); });
return new Promise((resolve, reject) => { Storage.get(key, (err, data) => { if (err) reject(new Error(err)) if (data){ resolve(data) } }) })
return new Promise((resolve, reject) => { this.db.get(game, (err, gameDB) => { if (err) { gameDB = { stats: {}, history: [] }; } resolve(gameDB); }); });
get: function(response, resource){ console.log('Retrieving User Data'.bgYellow); db.get(resource, function(err, obj){ if(!err){ Return(response, 201, obj); } else{ Logger.Error('failed to retrieve user', err); Return(response, 404, 'user ' + resource + ' not found'); } }); },
return new Promise((resolve, reject) => { db.get(itemId, function(err, obj){ if ( err !== null ) { if ( Object.keys(err).length ) reject({ err, status: 500 }); else reject({ err: 'Item not found in DB', status: 404 }); } else { resolve(obj); } }); })
/** * Authentication callback for basic authentication * - look up user by ID and verify that passwords match */ function authenticateBasic(username, password, done) { db.get(username, function(err, user) { var msg = 'Authenticating ' + username + ' with password'; if(!user) { console.log(msg + ' ✘ - no such user'.red); done(null, false); } else if(user.password !== password) { console.log(msg + ' ✘ - bad password'.red); done(null, null); } else { console.log(msg + ' - ✔'.green); delete user.password; done(null, user); } }); }
post: function(response, postData){ console.log('Creating User Data'.bgMagenta); db.get(postData.name, function(err, obj){ if(err){ db.save(postData.name, postData, function(err){ if(!err){ Return(response, 201, 'created user: '******'failed to save user', err); Return(response, 500, err); } }); } else{ Logger.Error('Conflict: User already exists', null); Return(response, 409, 'User ' + postData.name + ' already exists, please use Put to modify user'); } }); },
put: function(response, resource, postData){ console.log(('updating information for User ' + resource).bgBlue); db.get(resource, function(err, obj){ if(!err){ for (var key in postData){ if(key != 'name') obj[key] = postData[key]; } db.save(obj.name, obj, function(err){ if(!err){ Return(response, 200, 'Updated user: '******'failed to update user', err); Return(response, 500, err); } }); } else { Logger.Error('failed to retrieve user', err); Return(response, 404, 'user ' + resource + ' not found'); } }); },
get: function(channel_id, cb) { channels_db.get(channel_id, cb); },
get: function(user_id, cb) { users_db.get(user_id, cb); },
get: function(team_id, cb) { teams_db.get(team_id, cb); },