diff options
Diffstat (limited to 'client/lib')
-rw-r--r-- | client/lib/utils.js | 44 |
1 files changed, 18 insertions, 26 deletions
diff --git a/client/lib/utils.js b/client/lib/utils.js index e72f177e..c921fddc 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -61,38 +61,30 @@ Utils = { }, MAX_IMAGE_PIXEL: Meteor.settings.public.MAX_IMAGE_PIXEL, COMPRESS_RATIO: Meteor.settings.public.IMAGE_COMPRESS_RATIO, - processUploadedAttachment(card, fileObj, callbacks) { + processUploadedAttachment(card, fileObj, callback) { + const next = attachment => { + if (typeof callback === 'function') { + callback(attachment); + } + }; if (!card) { - return onUploaded(); + return next(); } - let settings = { - file: fileObj, - streams: 'dynamic', - chunkSize: 'dynamic', - }; - settings.meta = { - uploading: true - }; + const file = new FS.File(fileObj); if (card.isLinkedCard()) { - settings.meta.boardId = Cards.findOne(card.linkedId).boardId; - settings.meta.cardId = card.linkedId; + file.boardId = Cards.findOne(card.linkedId).boardId; + file.cardId = card.linkedId; } else { - settings.meta.boardId = card.boardId; - settings.meta.swimlaneId = card.swimlaneId; - settings.meta.listId = card.listId; - settings.meta.cardId = card._id; + file.boardId = card.boardId; + file.swimlaneId = card.swimlaneId; + file.listId = card.listId; + file.cardId = card._id; } - settings.meta.userId = Meteor.userId(); - if (typeof callbacks === 'function') { - settings.onEnd = callbacks; - } else { - for (const key in callbacks) { - if (key.substring(0, 2) === 'on') { - settings[key] = callbacks[key]; - } - } + file.userId = Meteor.userId(); + if (file.original) { + file.original.name = fileObj.name; } - Attachments.insert(settings); + return next(Attachments.insert(file)); }, shrinkImage(options) { // shrink image to certain size |