From 129edd66ee352a01f2fa93fa195830bb2de42675 Mon Sep 17 00:00:00 2001 From: Edaly Ahmed Date: Mon, 24 Feb 2020 17:39:15 +0100 Subject: [PATCH] Signed-off-by: Edaly Ahmed adding getConfig service and casting params before updating database --- .../strapi-plugin-upload/controllers/Upload.js | 18 +++++++++--------- .../strapi-plugin-upload/services/Upload.js | 13 ++++++++++++- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/strapi-plugin-upload/controllers/Upload.js b/packages/strapi-plugin-upload/controllers/Upload.js index ee9dda9e93..54e1bd3e65 100644 --- a/packages/strapi-plugin-upload/controllers/Upload.js +++ b/packages/strapi-plugin-upload/controllers/Upload.js @@ -13,13 +13,7 @@ module.exports = { const uploadService = strapi.plugins.upload.services.upload; // Retrieve provider configuration. - const config = await strapi - .store({ - environment: strapi.config.environment, - type: 'plugin', - name: 'upload', - }) - .get({ key: 'provider' }); + const config = await uploadService.getConfig(); // Verify if the file upload is enable. if (config.enabled === false) { @@ -55,7 +49,7 @@ module.exports = { const buffers = await uploadService.bufferize(files); const enhancedFiles = buffers.map(file => { - if (parseFloat(file.size) > parseFloat(config.sizeLimit)) { + if (file.size > config.sizeLimit) { return ctx.badRequest(null, [ { messages: [ @@ -131,13 +125,19 @@ module.exports = { }, async updateSettings(ctx) { + const { + request: { body: newSettings }, + } = ctx; await strapi .store({ environment: ctx.params.environment, type: 'plugin', name: 'upload', }) - .set({ key: 'provider', value: ctx.request.body }); + .set({ + key: 'provider', + value: { ...newSettings, sizeLimit: parseFloat(newSettings.sizeLimit) }, + }); ctx.send({ ok: true }); }, diff --git a/packages/strapi-plugin-upload/services/Upload.js b/packages/strapi-plugin-upload/services/Upload.js index ab890aafbe..8c8702e2c7 100644 --- a/packages/strapi-plugin-upload/services/Upload.js +++ b/packages/strapi-plugin-upload/services/Upload.js @@ -50,7 +50,7 @@ module.exports = { : '', buffer, mime: stream.type, - size: (stream.size / 1000).toFixed(2), + size: parseFloat((stream.size / 1000).toFixed(2)), }; }; @@ -176,4 +176,15 @@ module.exports = { }) ); }, + async getConfig() { + const config = await strapi + .store({ + environment: strapi.config.environment, + type: 'plugin', + name: 'upload', + }) + .get({ key: 'provider' }); + + return { ...config, sizeLimit: parseFloat(config.sizeLimit) }; + }, };