From 20aedc0e68680b6257da1c6c4613cbae666fa9a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Fri, 15 May 2020 17:15:24 +0200 Subject: [PATCH] refactor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pierre Noël --- packages/strapi-provider-email-amazon-ses/lib/index.js | 6 ++---- packages/strapi-provider-email-amazon-ses/package.json | 4 ++-- packages/strapi-provider-email-mailgun/lib/index.js | 6 ++---- packages/strapi-provider-email-mailgun/package.json | 4 ++-- packages/strapi-provider-email-sendgrid/lib/index.js | 6 ++---- packages/strapi-provider-email-sendgrid/package.json | 2 +- packages/strapi-provider-email-sendmail/lib/index.js | 6 ++---- packages/strapi-provider-email-sendmail/package.json | 4 ++-- packages/strapi-utils/lib/index.js | 2 ++ packages/strapi-utils/lib/objectFormatting.js | 9 +++++++++ 10 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 packages/strapi-utils/lib/objectFormatting.js diff --git a/packages/strapi-provider-email-amazon-ses/lib/index.js b/packages/strapi-provider-email-amazon-ses/lib/index.js index 5c49cda5b8..6ba859b495 100644 --- a/packages/strapi-provider-email-amazon-ses/lib/index.js +++ b/packages/strapi-provider-email-amazon-ses/lib/index.js @@ -1,7 +1,7 @@ 'use strict'; const nodeSES = require('node-ses'); -const _ = require('lodash'); +const { removeUndefined } = require('strapi-utils'); module.exports = { init: (providerOptions = {}, settings = {}) => { @@ -24,9 +24,7 @@ module.exports = { ...rest, }; - msg = _.pickBy(msg, value => typeof value !== 'undefined'); - - client.sendEmail(msg, function(err) { + client.sendEmail(removeUndefined(msg), function(err) { if (err) { reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); } else { diff --git a/packages/strapi-provider-email-amazon-ses/package.json b/packages/strapi-provider-email-amazon-ses/package.json index ed631de4c3..48fcdb29e9 100644 --- a/packages/strapi-provider-email-amazon-ses/package.json +++ b/packages/strapi-provider-email-amazon-ses/package.json @@ -14,8 +14,8 @@ }, "main": "./lib", "dependencies": { - "lodash": "^4.17.11", - "node-ses": "^3.0.0" + "node-ses": "^3.0.0", + "strapi-utils": "^3.0.0-beta.20.3" }, "author": { "email": "nikolay@tsenkov.net", diff --git a/packages/strapi-provider-email-mailgun/lib/index.js b/packages/strapi-provider-email-mailgun/lib/index.js index a45c17b237..092aa8b7f4 100644 --- a/packages/strapi-provider-email-mailgun/lib/index.js +++ b/packages/strapi-provider-email-mailgun/lib/index.js @@ -1,7 +1,7 @@ 'use strict'; const mailgunFactory = require('mailgun-js'); -const _ = require('lodash'); +const { removeUndefined } = require('strapi-utils'); module.exports = { init: (providerOptions = {}, settings = {}) => { @@ -27,9 +27,7 @@ module.exports = { ...rest, }; - msg = _.pickBy(msg, value => typeof value !== 'undefined'); - - mailgun.messages().send(msg, function(err) { + mailgun.messages().send(removeUndefined(msg), function(err) { if (err) { reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); } else { diff --git a/packages/strapi-provider-email-mailgun/package.json b/packages/strapi-provider-email-mailgun/package.json index af1eaa92d7..3b7eb70672 100644 --- a/packages/strapi-provider-email-mailgun/package.json +++ b/packages/strapi-provider-email-mailgun/package.json @@ -13,8 +13,8 @@ }, "main": "./lib", "dependencies": { - "lodash": "^4.17.11", - "mailgun-js": "0.22.0" + "mailgun-js": "0.22.0", + "strapi-utils": "^3.0.0-beta.20.3" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-sendgrid/lib/index.js b/packages/strapi-provider-email-sendgrid/lib/index.js index 1a9376deb4..4b28736ff6 100644 --- a/packages/strapi-provider-email-sendgrid/lib/index.js +++ b/packages/strapi-provider-email-sendgrid/lib/index.js @@ -1,7 +1,7 @@ 'use strict'; const sendgrid = require('@sendgrid/mail'); -const _ = require('lodash'); +const { removeUndefined } = require('strapi-utils'); module.exports = { init: (providerOptions = {}, settings = {}) => { @@ -24,9 +24,7 @@ module.exports = { ...rest, }; - msg = _.pickBy(msg, value => typeof value !== 'undefined'); - - sendgrid.send(msg, function(err) { + sendgrid.send(removeUndefined(msg), function(err) { if (err) { reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); } else { diff --git a/packages/strapi-provider-email-sendgrid/package.json b/packages/strapi-provider-email-sendgrid/package.json index 63aa80821f..eb89ee3ad5 100644 --- a/packages/strapi-provider-email-sendgrid/package.json +++ b/packages/strapi-provider-email-sendgrid/package.json @@ -14,7 +14,7 @@ "main": "./lib", "dependencies": { "@sendgrid/mail": "6.4.0", - "lodash": "^4.17.11" + "strapi-utils": "^3.0.0-beta.20.3" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-sendmail/lib/index.js b/packages/strapi-provider-email-sendmail/lib/index.js index ed957af4eb..84d49f8bc3 100644 --- a/packages/strapi-provider-email-sendmail/lib/index.js +++ b/packages/strapi-provider-email-sendmail/lib/index.js @@ -1,7 +1,7 @@ 'use strict'; const sendmailFactory = require('sendmail'); -const _ = require('lodash'); +const { removeUndefined } = require('strapi-utils'); module.exports = { init: (providerOptions = {}, settings = {}) => { @@ -26,9 +26,7 @@ module.exports = { ...rest, }; - msg = _.pickBy(msg, value => typeof value !== 'undefined'); - - sendmail(msg, err => { + sendmail(removeUndefined(msg), err => { if (err) { reject([{ messages: [{ id: 'Auth.form.error.email.invalid' }] }]); } else { diff --git a/packages/strapi-provider-email-sendmail/package.json b/packages/strapi-provider-email-sendmail/package.json index d2d45bdd5f..4fd77107dc 100644 --- a/packages/strapi-provider-email-sendmail/package.json +++ b/packages/strapi-provider-email-sendmail/package.json @@ -12,8 +12,8 @@ }, "main": "./lib", "dependencies": { - "lodash": "^4.17.11", - "sendmail": "^1.6.1" + "sendmail": "^1.6.1", + "strapi-utils": "^3.0.0-beta.20.3" }, "strapi": { "isProvider": true diff --git a/packages/strapi-utils/lib/index.js b/packages/strapi-utils/lib/index.js index c1d3f610e0..60038a846a 100644 --- a/packages/strapi-utils/lib/index.js +++ b/packages/strapi-utils/lib/index.js @@ -21,6 +21,7 @@ const { getCommonBeginning, escapeQuery, } = require('./stringFormatting'); +const { removeUndefined } = require('./objectFormatting'); const { getConfigUrls } = require('./config'); module.exports = { @@ -41,4 +42,5 @@ module.exports = { getCommonBeginning, getConfigUrls, escapeQuery, + removeUndefined, }; diff --git a/packages/strapi-utils/lib/objectFormatting.js b/packages/strapi-utils/lib/objectFormatting.js new file mode 100644 index 0000000000..1d8a5899e2 --- /dev/null +++ b/packages/strapi-utils/lib/objectFormatting.js @@ -0,0 +1,9 @@ +'use strict'; + +const _ = require('lodash'); + +const removeUndefined = obj => _.pickBy(obj, value => typeof value !== 'undefined'); + +module.exports = { + removeUndefined, +};