diff --git a/api/media/routes.mjs b/api/media/routes.mjs index 900d204..950048d 100644 --- a/api/media/routes.mjs +++ b/api/media/routes.mjs @@ -19,7 +19,7 @@ export default class MediaRoutes { } register(server) { - this.init().then(function() {}, function(err) { + this.init(server).then(function() {}, function(err) { server.core.log.error(err, 'Error initing media') }) @@ -32,24 +32,24 @@ export default class MediaRoutes { server.flaska.delete('/media/:filename', [server.queryHandler()], this.remove.bind(this)) } - init() { - return fs.readdir(config.get('uploadFolder')).then(folders => { - return Promise.all(folders.map(folder => { - return fs.readdir(config.get('uploadFolder') + '/' + folder) - .then(files => { - return Promise.all(files.map(file => { - return fs.stat(`${config.get('uploadFolder')}/${folder}/${file}`) - .then(function(stat) { - return { filename: file, size: stat.size } - }) - })) + init(server) { + let folders = Object.keys(config.get('sites')) + + return Promise.all(folders.map(folder => { + return fs.readdir(config.get('uploadFolder') + '/' + folder) + .then(files => { + return files.map(file => { + return { filename: file, size: null } }) - .then(files => { - this.siteCache.set(folder, files) - }) - .catch(function() {}) - })) - }) + }) + .catch(err => { + server.core.log.error(err, `Error reading folder "${config.get('uploadFolder')}/${folder}"`) + return [] + }) + .then(files => { + this.siteCache.set(folder, files) + }) + })) } filesCacheGet(site) { diff --git a/package.json b/package.json index 5c28854..954a8c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "storage-upload", - "version": "2.2.3", + "version": "2.2.4", "description": "Micro service for uploading and image resizing files to a storage server.", "main": "index.js", "scripts": {