module.exports.create = function(random, username, path, name, ext, next, callback) { var one = new File({ randomness: random, username: username, path: path, name: name, ext: ext }); one.save(function(err) { if (err) { util.logger.error(err, 'failed on File.save()'); next.ifError(new restify.InternalServerError('failed while saving to database')); } callback(); }); };
module.exports.exist = function(random, name, ext, next, callback) { File.count({ randomness: random, name: name, ext: ext }, function(err, count) { if (err) { util.logger.error(err, 'failed on File.count()'); next.ifError(new restify.InternalServerError('failed while reading from database')); } callback(count !== 0); }); };
module.exports.update = function(random, name, ext, next, callback) { File.findOne({ randomness: random, name: name, ext: ext }, function(err, file) { if (err) { util.logger.error(err, 'failed on File.findOne()'); next.ifError(new restify.InternalServerError('failed while reading from database')); } file.lastUpdate = new Date; file.save(function(err) { if (err) { util.logger.error(err, 'failed on File.save()'); next.ifError(new restify.InternalServerError('failed while saving to database')); } callback(); }); }); };
module.exports.delete = function(bucket, random, name, ext, key, next, res) { File.remove({ randomness: random, name: name, ext: ext }, function(err, file) { if (err) { util.logger.error(err, 'failed on File.remove()'); next.ifError(new restify.InternalServerError('failed while saving to database')); } util.s3.deleteObjects({ Bucket: bucket, Delete: { Objects: [{ Key: random + '/' + key }] } }, function(err, data) { if (err) { util.logger.error(err, 'failed on S3.deleteObjects()'); next.ifError(new restify.InternalServerError('failed while deleting S3 objects')); } return next(res.send({ success: true })); }); }); };
module.exports.search = function(criteria, next, res) { File.find(criteria, function(err, files) { return next(res.send(files)); }); };