async.auto({ contents: function (callback) { contentsModel.find({ _id: { $in: ids } }) .select('_id thumbnail media') .lean() .exec(callback); }, removeContents: ['contents', function (callbac, results) { async.eachLimit(results.contents, 100, function (content, callback) { contentsModel.remove({ _id: { $in: ids } }, callback); }, callback); }], updateMedia: ['contents', function (callback, results) { async.eachLimit(results.contents, 20, function (content, callback) { if (content.thumbnail) content.media.push(content.thumbnail); mediaModel.update({ _id: { $in: content.media } }, { $pull: { quotes: content._id } }, { multi: true, runValidators: true }, callback); }, callback); }] }, function (err) { if (err) { err.type = 'database'; return callback(err); } callback(); });
async.auto({ checkAlias: function (callback) { exports.checkAlias({ alias: data.alias }, function (err, alias) {
async.auto({ updatePage: function (callback) { categoriesModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, oldPage) {
if (!medium) return callback(); async.auto({ pullQuotes: function (callback) { async.parallel([
async.auto({ siteInfo: siteInfoService.get, navigation: function (callback) {
async.auto({
var db = mongoose.connection.collections; async.auto({
async.auto({ feature: function (callback) { featuresModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, oldFeature) {
async.auto({ checkAlias: function (callback) { if (!data.alias) return callback();
async.auto({ status: function (callback) { installService.status(function (err, hasInstall) {
async.auto({
async.auto({ checkInstall: function (callback) { exports.status(function (err, hasInstall) {
const getOrCreateAllSubscriptions = () => { return util.promisify(async.auto)({ topics: getTopics, subscriptions: ['topics', getOrCreateSubscriptions], }) }
Async.auto({ readDirectory: (cb) => { return readDirectory(source, cb); }, resizeAllFiles: ['readDirectory', (results, cb) => { return Async.each(results.readDirectory, getFileSizeAndResize, cb); }] }, (err) => { if (err) console.log(err); console.log('Finished'); });
async.auto({ create:function(cb){ u.save({"username":"beiluo","password":"111111"},function(ret,err){ cb(null,ret) }) }, login:function(cb){ u.login({"username":"beiluo","password":"111111"},function(ret,err){ if(ret.id){ client.setHeaders("authorization",ret.id) } cb(null,ret) }) }, update:["login",function(cb,result){ u.save({"_id":result.create.id},{"password":"222222"},function(ret,err){ cb(null,ret); }) }], delete:["update",function(cb,result){ u.delete({"_id":result.create.id},function(ret,err){ cb(null,ret) }) }], logout:["delete",function(cb,result){ u.logout(,function(ret,err){ cb(null,ret) })