Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return Promise.all(keys.map(function (key) {
var subOpts = assign({key: key, deleted: 'ok'}, opts);
['limit', 'skip', 'keys'].forEach(function (optKey) {
delete subOpts[optKey];
});
return new Promise(function (resolve, reject) {
api._allDocs(subOpts, function (err, res) {
/* istanbul ignore if */
if (err) {
return reject(err);
}
finalResults.total_rows = res.total_rows;
resolve(res.rows[0] || {key: key, error: 'not_found'});
});
});
})).then(function (results) {
finalResults.rows = results;
'iterations',
'derived_key',
'salt',
];
if (opts.metadata) {
for (var key in opts.metadata) {
if (opts.metadata.hasOwnProperty(key) && reservedWords.indexOf(key) !== -1) {
return callback(new AuthError('cannot use reserved word in metadata: "' + key + '"'));
}
}
user = assign(user, opts.metadata);
}
if (opts.roles) {
user = assign(user, {roles: opts.roles});
}
var url = getUsersUrl(db) + '/' + encodeURIComponent(user._id);
var ajaxOpts = assign({
method: 'PUT',
url: url,
body: user,
headers: getBasicAuthHeaders(db),
}, opts.ajax || {});
ajaxCore(ajaxOpts, wrapError(callback));
}
var getSession = toPromise(function (opts, callback) {
var db = this;
if (typeof callback === 'undefined') {
callback = opts;
opts = {};
}
var url = getSessionUrl(db);
var ajaxOpts = assign({
method: 'GET',
url: url,
headers: getBasicAuthHeaders(db),
}, opts.ajax || {});
ajaxCore(ajaxOpts, wrapError(callback));
});
opts = {};
}
if (['http', 'https'].indexOf(db.type()) === -1) {
return callback(new AuthError('this plugin only works for the http/https adapter'));
}
if (!username) {
return callback(new AuthError('you must provide a username'));
} else if (!password) {
return callback(new AuthError('you must provide a password'));
}
var ajaxOpts = assign({
method: 'POST',
url: getSessionUrl(db),
headers: assign({'Content-Type': 'application/json'}, getBasicAuthHeaders(db)),
body: {name: username, password: password},
}, opts.ajax || {});
ajaxCore(ajaxOpts, wrapError(callback));
});
'type',
'roles',
'password',
'password_scheme',
'iterations',
'derived_key',
'salt',
];
if (opts.metadata) {
for (var key in opts.metadata) {
if (opts.metadata.hasOwnProperty(key) && reservedWords.indexOf(key) !== -1) {
return callback(new AuthError('cannot use reserved word in metadata: "' + key + '"'));
}
}
user = assign(user, opts.metadata);
}
if (opts.roles) {
user = assign(user, {roles: opts.roles});
}
var url = getUsersUrl(db) + '/' + encodeURIComponent(user._id);
var ajaxOpts = assign({
method: 'PUT',
url: url,
body: user,
headers: getBasicAuthHeaders(db),
}, opts.ajax || {});
ajaxCore(ajaxOpts, wrapError(callback));
}
if (opts.metadata) {
for (var key in opts.metadata) {
if (opts.metadata.hasOwnProperty(key) && reservedWords.indexOf(key) !== -1) {
return callback(new AuthError('cannot use reserved word in metadata: "' + key + '"'));
}
}
user = assign(user, opts.metadata);
}
if (opts.roles) {
user = assign(user, {roles: opts.roles});
}
var url = getUsersUrl(db) + '/' + encodeURIComponent(user._id);
var ajaxOpts = assign({
method: 'PUT',
url: url,
body: user,
headers: getBasicAuthHeaders(db),
}, opts.ajax || {});
ajaxCore(ajaxOpts, wrapError(callback));
}
var updateUser = function (user, opts) {
var url = getUsersUrl(db) + '/' + encodeURIComponent(user._id);
var updateOpts = assign({
method: 'PUT',
url: url,
headers: getBasicAuthHeaders(db),
body: user,
}, opts.ajax);
return ajax(updateOpts);
};
if (typeof callback === 'undefined') {