async.waterfall([ function (callback) { }, function (callback) { } ], function (err, result) { if (err) return callback(err); callback(null, result); });
async.waterfall([ function (callback) { mediaModel.findByIdAndUpdate({ _id: _id }, data, { runValidators: true }, function (err, oldMedium) { if (err) err.type = 'database'; callback(err, oldMedium); }); }, function (oldMedium, callback) { if (data.fileName !== oldMedium.fileName) { var prePath = '../../public/media/' + moment(oldMedium.date).format('YYYYMM') + '/' + oldMedium._id + '/'; var oldPath = path.join(__dirname, prePath + oldMedium.fileName); var newPath = path.join(__dirname, prePath + data.fileName); fs.rename(oldPath, newPath, function (err) { if (err) err.type = 'system'; callback(err); }); } else { callback(null); } } ], callback);
async.waterfall([ exports.tree, function (tree, callback) {
async.waterfall([ function (callback) { var regex = new RegExp('^' + options.path, 'i');
async.waterfall([ function (callback) {
async.waterfall([ exports.all, function (list, callback) {
}); } else { async.waterfall([ function (callback) { contentsModel.findByIdAndRemove(_id, function (err, oldContent) {
async.waterfall([ function (callback) { pagesService.one({ _id: _id, markdown: markdown }, function (err, page) {
async.waterfall([ function (callback) { var regex = new RegExp('^' + options.path, 'i');
async.waterfall([ function (callback) { siteInfoService.get(function (err, siteInfo) {
async.waterfall([ function (callback) { fs.readFile(path.join(__dirname, '../config/database.config.js'), function (err, file) {
async.waterfall([ function (callback) { categoriesModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, category) {
async.waterfall([ function (callback) { mediaModel.count({}, function (err, count) {
async.waterfall([ function (callback) { modelsModel.findOne({ type: 'feature', 'mixed.callname': callname }, function (err, model) {