0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-02-17 23:45:29 -05:00

removing all tarballs on unpublish --force

This commit is contained in:
Alex Kocharin 2013-10-22 17:33:39 +04:00
parent 3a407396b8
commit 6ae26226eb

View file

@ -61,19 +61,41 @@ Storage.prototype.add_package = function(name, metadata, callback) {
Storage.prototype.remove_package = function(name, callback) { Storage.prototype.remove_package = function(name, callback) {
var self = this var self = this
self.storage.unlink(name + '/' + info_file, function(err) { self.storage.read_json(name + '/' + info_file, function(err, data) {
if (err && err.code === 'ENOENT') { if (err) {
if (err.code === 'ENOENT') {
return callback(new UError({ return callback(new UError({
status: 404, status: 404,
msg: 'no such package available', msg: 'no such package available',
})) }))
} else {
return callback(err)
}
}
self._normalize_package(data)
self.storage.unlink(name + '/' + info_file, function(err) {
if (err) return callback(err)
var files = Object.keys(data._attachments)
function unlinkNext(cb) {
if (files.length === 0) return cb()
var file = files.shift()
self.storage.unlink(name + '/' + file, function() {
unlinkNext(cb)
})
} }
unlinkNext(function() {
// try to unlink the directory, but ignore errors because it can fail // try to unlink the directory, but ignore errors because it can fail
self.storage.rmdir(name, function(err) { self.storage.rmdir(name, function(err) {
callback() callback()
}) })
}) })
})
})
} }
Storage.prototype._read_create_package = function(name, callback) { Storage.prototype._read_create_package = function(name, callback) {