From ec1872b031829ba53fa092d0e65ef19280bd41b5 Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Fri, 8 Jun 2018 02:37:24 +0200 Subject: [PATCH 01/14] Do not format value of type array and object because it will turn to zero --- packages/strapi-utils/lib/models.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/strapi-utils/lib/models.js b/packages/strapi-utils/lib/models.js index c9fe242ead..7c8ffd4a0d 100755 --- a/packages/strapi-utils/lib/models.js +++ b/packages/strapi-utils/lib/models.js @@ -454,7 +454,11 @@ module.exports = { let formattedValue; try { - formattedValue = !_.isNaN(_.toNumber(value)) ? _.toNumber(value) : value; + formattedValue = _.isObject(value) // Do not format object or array values + ? value + : !_.isNaN(_.toNumber(value)) + ? _.toNumber(value) + : value; } catch(err) { formattedValue = value; } From a8da79c6f8425bb0280b05b2614791a2d78bbbde Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Fri, 8 Jun 2018 02:37:56 +0200 Subject: [PATCH 02/14] Place the break in the correct place --- packages/strapi-plugin-graphql/services/GraphQL.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-graphql/services/GraphQL.js b/packages/strapi-plugin-graphql/services/GraphQL.js index e4f2bdbd80..4c2fdd6df4 100644 --- a/packages/strapi-plugin-graphql/services/GraphQL.js +++ b/packages/strapi-plugin-graphql/services/GraphQL.js @@ -620,8 +620,8 @@ module.exports = { [ref.primaryKey]: arrayOfIds, ...where.where }).where; + break; } - break; // falls through } default: From b85baf568e497e661152a9f496e79762e72382fa Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Fri, 8 Jun 2018 02:38:32 +0200 Subject: [PATCH 03/14] use default format for fields of type string and text --- packages/strapi-plugin-graphql/services/GraphQL.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/strapi-plugin-graphql/services/GraphQL.js b/packages/strapi-plugin-graphql/services/GraphQL.js index 4c2fdd6df4..b1046a40ac 100644 --- a/packages/strapi-plugin-graphql/services/GraphQL.js +++ b/packages/strapi-plugin-graphql/services/GraphQL.js @@ -154,10 +154,6 @@ module.exports = { let type = 'String'; switch (definition.type) { - case 'string': - case 'text': - type = 'String'; - break; case 'boolean': type = 'Boolean'; break; From e9fc37d03a197686b5bee7678b75b26308c0cfff Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Fri, 8 Jun 2018 02:39:52 +0200 Subject: [PATCH 04/14] Add comment to handle fields of type array --- packages/strapi-plugin-graphql/services/GraphQL.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/strapi-plugin-graphql/services/GraphQL.js b/packages/strapi-plugin-graphql/services/GraphQL.js index b1046a40ac..7fde6f9a9e 100644 --- a/packages/strapi-plugin-graphql/services/GraphQL.js +++ b/packages/strapi-plugin-graphql/services/GraphQL.js @@ -154,6 +154,7 @@ module.exports = { let type = 'String'; switch (definition.type) { + // TODO: Handle fields of type Array, Perhaps default to [Int] or [String] ... case 'boolean': type = 'Boolean'; break; From 4920c1fa76a7beb542f3db8ef14e3937d97cfed4 Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Fri, 8 Jun 2018 20:27:45 +0200 Subject: [PATCH 05/14] Set the entry type only when the value is defined --- packages/strapi-plugin-graphql/services/GraphQL.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-graphql/services/GraphQL.js b/packages/strapi-plugin-graphql/services/GraphQL.js index 7fde6f9a9e..a85430cd70 100644 --- a/packages/strapi-plugin-graphql/services/GraphQL.js +++ b/packages/strapi-plugin-graphql/services/GraphQL.js @@ -533,7 +533,10 @@ module.exports = { const entry = withRelated && withRelated.toJSON ? withRelated.toJSON() : withRelated; - entry[association.alias]._type = _.upperFirst(association.model); + // Set the _type only when the value is defined + if (entry[association.alias]) { + entry[association.alias]._type = _.upperFirst(association.model); + } return entry[association.alias]; } From ad815eae20e79495e5548343d3a986f847f826f4 Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Thu, 14 Jun 2018 17:15:49 +0200 Subject: [PATCH 06/14] Fix reset password SQL fix #1351 --- .../controllers/Auth.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/strapi-plugin-users-permissions/controllers/Auth.js b/packages/strapi-plugin-users-permissions/controllers/Auth.js index a70990e23a..68ba66a8b8 100644 --- a/packages/strapi-plugin-users-permissions/controllers/Auth.js +++ b/packages/strapi-plugin-users-permissions/controllers/Auth.js @@ -114,8 +114,11 @@ module.exports = { user.password = await strapi.plugins['users-permissions'].services.user.hashPassword(params); + // Remove relations data to update user code. + const data = _.omit(user, strapi.plugins['users-permissions'].models.user.associations.map(ast => ast.alias)); + // Update the user. - await strapi.query('user', 'users-permissions').update(user); + await strapi.query('user', 'users-permissions').update(data); ctx.send({ jwt: strapi.plugins['users-permissions'].services.jwt.issue(_.pick(user.toJSON ? user.toJSON() : user, ['_id', 'id'])), @@ -203,8 +206,11 @@ module.exports = { return ctx.badRequest(null, err); } + // Remove relations data to update user code. + const data = _.omit(user, strapi.plugins['users-permissions'].models.user.associations.map(ast => ast.alias)); + // Update the user. - await strapi.query('user', 'users-permissions').update(user); + await strapi.query('user', 'users-permissions').update(data); ctx.send({ ok: true }); }, From 1c3e6a4664e37805f10ceb9667ff0349dd20e1aa Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Thu, 14 Jun 2018 17:20:45 +0200 Subject: [PATCH 07/14] Update comment on reset password --- packages/strapi-plugin-users-permissions/controllers/Auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-users-permissions/controllers/Auth.js b/packages/strapi-plugin-users-permissions/controllers/Auth.js index 68ba66a8b8..a97a9df50d 100644 --- a/packages/strapi-plugin-users-permissions/controllers/Auth.js +++ b/packages/strapi-plugin-users-permissions/controllers/Auth.js @@ -114,7 +114,7 @@ module.exports = { user.password = await strapi.plugins['users-permissions'].services.user.hashPassword(params); - // Remove relations data to update user code. + // Remove relations data to update user password. const data = _.omit(user, strapi.plugins['users-permissions'].models.user.associations.map(ast => ast.alias)); // Update the user. From 12706a8955e7a69e5264c9027fb5c24b42c48f97 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Sun, 17 Jun 2018 13:24:13 +0200 Subject: [PATCH 08/14] Fix Array type mongoose fix #1169 --- packages/strapi-mongoose/lib/utils/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-mongoose/lib/utils/index.js b/packages/strapi-mongoose/lib/utils/index.js index 4661cdaa68..f36bf888ad 100755 --- a/packages/strapi-mongoose/lib/utils/index.js +++ b/packages/strapi-mongoose/lib/utils/index.js @@ -11,7 +11,7 @@ module.exports = mongoose => { convertType: mongooseType => { switch (mongooseType.toLowerCase()) { case 'array': - return 'Array'; + return Array; case 'boolean': return 'Boolean'; case 'binary': From cd53ef5ddf93ce543721fb688aeb929211d20486 Mon Sep 17 00:00:00 2001 From: Kamal Bennani Date: Sun, 17 Jun 2018 23:34:25 +0200 Subject: [PATCH 09/14] correctly determines if a value is valid candidate to become a number --- packages/strapi-utils/lib/models.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/strapi-utils/lib/models.js b/packages/strapi-utils/lib/models.js index 7c8ffd4a0d..f7a434528b 100755 --- a/packages/strapi-utils/lib/models.js +++ b/packages/strapi-utils/lib/models.js @@ -10,6 +10,11 @@ const path = require('path'); // Public node modules. const _ = require('lodash'); +// Following this discussion https://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric this function is the best implem to determine if a value is a valid number candidate +const isNumeric = (value) => { + return !isNaN(parseFloat(value)) && isFinite(value); +} + /* eslint-disable prefer-template */ /* * Set of utils for models @@ -453,15 +458,10 @@ module.exports = { let result; let formattedValue; - try { - formattedValue = _.isObject(value) // Do not format object or array values - ? value - : !_.isNaN(_.toNumber(value)) - ? _.toNumber(value) - : value; - } catch(err) { - formattedValue = value; - } + // Check if the value if a valid candidate to be converted to a number value + formattedValue = isNumeric(value) + ? _.toNumber(value) + : value; if (_.includes(['_start', '_limit'], key)) { result = convertor(formattedValue, key); From 295aef53b04e0817c7fbb77ee619bcb177d37c55 Mon Sep 17 00:00:00 2001 From: Johann Pinson Date: Mon, 18 Jun 2018 11:22:52 +0200 Subject: [PATCH 10/14] feat(graphql): add option to enable playground anywhere --- packages/strapi-plugin-graphql/config/settings.json | 1 + packages/strapi-plugin-graphql/hooks/graphql/index.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-graphql/config/settings.json b/packages/strapi-plugin-graphql/config/settings.json index 1501513aee..deda1e7b90 100644 --- a/packages/strapi-plugin-graphql/config/settings.json +++ b/packages/strapi-plugin-graphql/config/settings.json @@ -1,5 +1,6 @@ { "endpoint": "/graphql", "shadowCRUD": true, + "playgroundAlways": false, "depthLimit": 7 } diff --git a/packages/strapi-plugin-graphql/hooks/graphql/index.js b/packages/strapi-plugin-graphql/hooks/graphql/index.js index a8e0586432..dc0dd42b4f 100644 --- a/packages/strapi-plugin-graphql/hooks/graphql/index.js +++ b/packages/strapi-plugin-graphql/hooks/graphql/index.js @@ -123,7 +123,7 @@ module.exports = strapi => { })(ctx, next)); // Disable GraphQL Playground in production environment. - if (strapi.config.environment !== 'production') { + if (strapi.config.environment !== 'production' || strapi.plugins.graphql.config.playgroundAlways) { router.get('/playground', koaPlayground({ endpoint: strapi.plugins.graphql.config.endpoint})); } From 92bdb4e758afca3382200a9355136706d054ead1 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 18 Jun 2018 16:49:28 +0200 Subject: [PATCH 11/14] 3.0.0-alpha.12.5 --- package.json | 2 +- packages/strapi-admin/package.json | 6 ++--- packages/strapi-bookshelf/package.json | 6 ++--- packages/strapi-ejs/package.json | 2 +- packages/strapi-email-mailgun/package.json | 2 +- packages/strapi-email-sendgrid/package.json | 2 +- packages/strapi-email-sendmail/package.json | 2 +- packages/strapi-generate-admin/package.json | 4 ++-- packages/strapi-generate-api/package.json | 2 +- .../strapi-generate-controller/package.json | 2 +- packages/strapi-generate-model/package.json | 2 +- packages/strapi-generate-new/package.json | 4 ++-- packages/strapi-generate-plugin/package.json | 2 +- packages/strapi-generate-policy/package.json | 2 +- packages/strapi-generate-service/package.json | 2 +- packages/strapi-generate/package.json | 4 ++-- packages/strapi-helper-plugin/package.json | 2 +- packages/strapi-knex/package.json | 2 +- packages/strapi-lint/package.json | 2 +- packages/strapi-middleware-views/package.json | 2 +- packages/strapi-mongoose/package.json | 4 ++-- .../package.json | 4 ++-- .../package.json | 8 +++---- packages/strapi-plugin-email/package.json | 6 ++--- packages/strapi-plugin-graphql/package.json | 4 ++-- .../package.json | 4 ++-- packages/strapi-plugin-upload/package.json | 6 ++--- .../package.json | 4 ++-- packages/strapi-redis/package.json | 4 ++-- packages/strapi-upload-aws-s3/package.json | 2 +- .../strapi-upload-cloudinary/package.json | 2 +- packages/strapi-upload-local/package.json | 2 +- packages/strapi-upload-rackspace/package.json | 2 +- packages/strapi-utils/package.json | 2 +- packages/strapi/package.json | 22 +++++++++---------- 35 files changed, 65 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 2a71d5cd5b..4e3df4082c 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "dependencies": {}, "devDependencies": { "assert": "~1.3.0", diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 347d2890b6..402f1cb8bb 100755 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-admin", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Strapi Admin", "repository": { "type": "git", @@ -31,8 +31,8 @@ }, "devDependencies": { "sanitize.css": "^4.1.0", - "strapi-helper-plugin": "3.0.0-alpha.12.4", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5", + "strapi-utils": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi", diff --git a/packages/strapi-bookshelf/package.json b/packages/strapi-bookshelf/package.json index e72e399190..ee79562b86 100755 --- a/packages/strapi-bookshelf/package.json +++ b/packages/strapi-bookshelf/package.json @@ -1,6 +1,6 @@ { "name": "strapi-bookshelf", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Bookshelf hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -20,8 +20,8 @@ "inquirer": "^5.2.0", "lodash": "^4.17.4", "pluralize": "^6.0.0", - "strapi-knex": "3.0.0-alpha.12.4", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-knex": "3.0.0-alpha.12.5", + "strapi-utils": "3.0.0-alpha.12.5" }, "strapi": { "isHook": true, diff --git a/packages/strapi-ejs/package.json b/packages/strapi-ejs/package.json index cf2f145085..77d4559143 100755 --- a/packages/strapi-ejs/package.json +++ b/packages/strapi-ejs/package.json @@ -1,6 +1,6 @@ { "name": "strapi-ejs", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "EJS hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-email-mailgun/package.json b/packages/strapi-email-mailgun/package.json index fc74b30b97..c7aea6e301 100644 --- a/packages/strapi-email-mailgun/package.json +++ b/packages/strapi-email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "strapi-email-mailgun", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Mailgun provider for strapi email plugin", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-email-sendgrid/package.json b/packages/strapi-email-sendgrid/package.json index daf57caacc..acd5ba90ec 100644 --- a/packages/strapi-email-sendgrid/package.json +++ b/packages/strapi-email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "strapi-email-sendgrid", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Sendgrid provider for strapi email", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-email-sendmail/package.json b/packages/strapi-email-sendmail/package.json index f1a3aa1a6d..0f9f8e795b 100644 --- a/packages/strapi-email-sendmail/package.json +++ b/packages/strapi-email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "strapi-email-sendmail", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Sendmail provider for strapi email", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-admin/package.json b/packages/strapi-generate-admin/package.json index 14a0c5d48f..491850aab8 100755 --- a/packages/strapi-generate-admin/package.json +++ b/packages/strapi-generate-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-admin", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate the default admin panel for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "fs-extra": "^4.0.1", "lodash": "^4.17.4", - "strapi-admin": "3.0.0-alpha.12.4" + "strapi-admin": "3.0.0-alpha.12.5" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json index 172c044997..1404381029 100755 --- a/packages/strapi-generate-api/package.json +++ b/packages/strapi-generate-api/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-api", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate an API for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-controller/package.json b/packages/strapi-generate-controller/package.json index 7d5b569cfc..9dee4e4a63 100755 --- a/packages/strapi-generate-controller/package.json +++ b/packages/strapi-generate-controller/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-controller", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate a controller for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-model/package.json b/packages/strapi-generate-model/package.json index 3d24516cd3..4d8d76498d 100755 --- a/packages/strapi-generate-model/package.json +++ b/packages/strapi-generate-model/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-model", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate a model for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index dee6138edc..6e1731cfe9 100755 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-new", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate a new Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -17,7 +17,7 @@ "fs-extra": "^4.0.0", "inquirer": "^4.0.2", "lodash": "^4.17.4", - "strapi-utils": "3.0.0-alpha.12.4", + "strapi-utils": "3.0.0-alpha.12.5", "uuid": "^3.1.0" }, "scripts": { diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json index dd4eeb0cf4..914e935994 100755 --- a/packages/strapi-generate-plugin/package.json +++ b/packages/strapi-generate-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-plugin", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate an plugin for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-policy/package.json b/packages/strapi-generate-policy/package.json index 055647a0bf..fd8619d9f6 100755 --- a/packages/strapi-generate-policy/package.json +++ b/packages/strapi-generate-policy/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-policy", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate a policy for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-service/package.json b/packages/strapi-generate-service/package.json index 427392b19f..1dd6329ced 100755 --- a/packages/strapi-generate-service/package.json +++ b/packages/strapi-generate-service/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-service", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Generate a service for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate/package.json b/packages/strapi-generate/package.json index 8dbe9cc695..e01317cc49 100755 --- a/packages/strapi-generate/package.json +++ b/packages/strapi-generate/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Master of ceremonies for the Strapi generators.", "homepage": "http://strapi.io", "keywords": [ @@ -17,7 +17,7 @@ "fs-extra": "^4.0.0", "lodash": "^4.17.4", "reportback": "^2.0.1", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-utils": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index e6016f8293..ec0519f900 100755 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-helper-plugin", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Helper for Strapi plugins development", "engines": { "node": ">= 9.0.0", diff --git a/packages/strapi-knex/package.json b/packages/strapi-knex/package.json index 0661bf7f33..6e06e5522d 100755 --- a/packages/strapi-knex/package.json +++ b/packages/strapi-knex/package.json @@ -1,6 +1,6 @@ { "name": "strapi-knex", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Knex hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-lint/package.json b/packages/strapi-lint/package.json index 8cdb40d9c3..2cdc5c346c 100644 --- a/packages/strapi-lint/package.json +++ b/packages/strapi-lint/package.json @@ -1,6 +1,6 @@ { "name": "strapi-lint", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Strapi eslint and prettier configurations", "directories": { "lib": "lib" diff --git a/packages/strapi-middleware-views/package.json b/packages/strapi-middleware-views/package.json index 4ec24133d6..c4368e0bb4 100755 --- a/packages/strapi-middleware-views/package.json +++ b/packages/strapi-middleware-views/package.json @@ -1,6 +1,6 @@ { "name": "strapi-middleware-views", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Views hook to enable server-side rendering for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-mongoose/package.json b/packages/strapi-mongoose/package.json index 7facc7c391..2f3dc93b39 100755 --- a/packages/strapi-mongoose/package.json +++ b/packages/strapi-mongoose/package.json @@ -1,6 +1,6 @@ { "name": "strapi-mongoose", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Mongoose hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -19,7 +19,7 @@ "mongoose": "^5.0.16", "mongoose-float": "^1.0.2", "pluralize": "^6.0.0", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-utils": "3.0.0-alpha.12.5" }, "strapi": { "isHook": true diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index b27fed9185..f41b7111a5 100755 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-manager", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "A powerful UI to easily manage your data.", "strapi": { "name": "Content Manager", @@ -23,7 +23,7 @@ }, "devDependencies": { "react-select": "^1.0.0-rc.5", - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index 998adaf134..0f2dcfbae3 100755 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-type-builder", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Strapi plugin to create content type (API).", "strapi": { "name": "Content Type Builder", @@ -23,11 +23,11 @@ }, "dependencies": { "pluralize": "^7.0.0", - "strapi-generate": "3.0.0-alpha.12.4", - "strapi-generate-api": "3.0.0-alpha.12.4" + "strapi-generate": "3.0.0-alpha.12.5", + "strapi-generate-api": "3.0.0-alpha.12.5" }, "devDependencies": { - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-email/package.json b/packages/strapi-plugin-email/package.json index 18c5a9d429..4e34c03031 100644 --- a/packages/strapi-plugin-email/package.json +++ b/packages/strapi-plugin-email/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-email", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "This is the description of the plugin.", "strapi": { "name": "Email", @@ -22,11 +22,11 @@ "prepublishOnly": "IS_MONOREPO=true npm run build" }, "dependencies": { - "strapi-email-sendmail": "3.0.0-alpha.12.4" + "strapi-email-sendmail": "3.0.0-alpha.12.5" }, "devDependencies": { "react-copy-to-clipboard": "5.0.1", - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index b048fa98e2..b24c307c14 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-graphql", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "This is the description of the plugin.", "strapi": { "name": "graphql", @@ -29,7 +29,7 @@ "graphql-tools": "^2.23.1", "graphql-type-json": "^0.2.0", "pluralize": "^7.0.0", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-utils": "3.0.0-alpha.12.5" }, "author": { "name": "A Strapi developer", diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json index 5f91f4610d..5df42d3e96 100755 --- a/packages/strapi-plugin-settings-manager/package.json +++ b/packages/strapi-plugin-settings-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-settings-manager", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Strapi plugin to manage settings.", "strapi": { "name": "Settings Manager", @@ -25,7 +25,7 @@ "devDependencies": { "flag-icon-css": "^2.8.0", "react-select": "^1.0.0-rc.5", - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-upload/package.json b/packages/strapi-plugin-upload/package.json index f66ba60e85..43d76b1af7 100644 --- a/packages/strapi-plugin-upload/package.json +++ b/packages/strapi-plugin-upload/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-upload", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "This is the description of the plugin.", "strapi": { "name": "Files Upload", @@ -23,12 +23,12 @@ }, "dependencies": { "react-copy-to-clipboard": "^5.0.1", - "strapi-upload-local": "3.0.0-alpha.12.4", + "strapi-upload-local": "3.0.0-alpha.12.5", "stream-to-array": "^2.3.0", "uuid": "^3.2.1" }, "devDependencies": { - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "A Strapi developer", diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index 11166ecf5e..f5a690625c 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-users-permissions", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Protect your API with a full-authentication process based on JWT", "strapi": { "name": "Roles & Permissions", @@ -31,7 +31,7 @@ "uuid": "^3.1.0" }, "devDependencies": { - "strapi-helper-plugin": "3.0.0-alpha.12.4" + "strapi-helper-plugin": "3.0.0-alpha.12.5" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-redis/package.json b/packages/strapi-redis/package.json index be24241412..95ab33c6df 100755 --- a/packages/strapi-redis/package.json +++ b/packages/strapi-redis/package.json @@ -1,6 +1,6 @@ { "name": "strapi-redis", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Redis hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -18,7 +18,7 @@ "ioredis": "^3.1.2", "lodash": "^4.17.4", "stack-trace": "0.0.10", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-utils": "3.0.0-alpha.12.5" }, "strapi": { "isHook": true diff --git a/packages/strapi-upload-aws-s3/package.json b/packages/strapi-upload-aws-s3/package.json index eed53ad553..8b3da1fe90 100644 --- a/packages/strapi-upload-aws-s3/package.json +++ b/packages/strapi-upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "strapi-upload-aws-s3", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "AWS S3 provider for strapi upload", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-upload-cloudinary/package.json b/packages/strapi-upload-cloudinary/package.json index e192860c04..e0cbdf9e9a 100644 --- a/packages/strapi-upload-cloudinary/package.json +++ b/packages/strapi-upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "strapi-upload-cloudinary", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Cloudinary provider for strapi upload", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-upload-local/package.json b/packages/strapi-upload-local/package.json index 4d38592694..cb1ec30d80 100644 --- a/packages/strapi-upload-local/package.json +++ b/packages/strapi-upload-local/package.json @@ -1,6 +1,6 @@ { "name": "strapi-upload-local", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Local provider for strapi upload", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-upload-rackspace/package.json b/packages/strapi-upload-rackspace/package.json index 682a70dacc..f4137b7a6c 100644 --- a/packages/strapi-upload-rackspace/package.json +++ b/packages/strapi-upload-rackspace/package.json @@ -1,6 +1,6 @@ { "name": "strapi-upload-rackspace", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Rackspace provider for strapi upload", "main": "./lib", "scripts": { diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json index 0e1fb0bff9..497f69a373 100755 --- a/packages/strapi-utils/package.json +++ b/packages/strapi-utils/package.json @@ -1,6 +1,6 @@ { "name": "strapi-utils", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "Shared utilities for the Strapi packages", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi/package.json b/packages/strapi/package.json index 2d13039440..1441d425f2 100755 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -1,6 +1,6 @@ { "name": "strapi", - "version": "3.0.0-alpha.12.4", + "version": "3.0.0-alpha.12.5", "description": "An open source solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier.", "homepage": "http://strapi.io", "keywords": [ @@ -55,16 +55,16 @@ "rimraf": "^2.6.2", "semver": "^5.4.1", "stack-trace": "0.0.10", - "strapi-generate": "3.0.0-alpha.12.4", - "strapi-generate-admin": "3.0.0-alpha.12.4", - "strapi-generate-api": "3.0.0-alpha.12.4", - "strapi-generate-controller": "3.0.0-alpha.12.4", - "strapi-generate-model": "3.0.0-alpha.12.4", - "strapi-generate-new": "3.0.0-alpha.12.4", - "strapi-generate-plugin": "3.0.0-alpha.12.4", - "strapi-generate-policy": "3.0.0-alpha.12.4", - "strapi-generate-service": "3.0.0-alpha.12.4", - "strapi-utils": "3.0.0-alpha.12.4" + "strapi-generate": "3.0.0-alpha.12.5", + "strapi-generate-admin": "3.0.0-alpha.12.5", + "strapi-generate-api": "3.0.0-alpha.12.5", + "strapi-generate-controller": "3.0.0-alpha.12.5", + "strapi-generate-model": "3.0.0-alpha.12.5", + "strapi-generate-new": "3.0.0-alpha.12.5", + "strapi-generate-plugin": "3.0.0-alpha.12.5", + "strapi-generate-policy": "3.0.0-alpha.12.5", + "strapi-generate-service": "3.0.0-alpha.12.5", + "strapi-utils": "3.0.0-alpha.12.5" }, "author": { "email": "hi@strapi.io", From 4431a9a7866017505763f23aa7629aece2235b5b Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 18 Jun 2018 17:54:20 +0200 Subject: [PATCH 12/14] Add email documentation --- docs/3.x.x/en/guides/email.md | 34 ++++++++++++++++++++++++++++++++++ docs/3.x.x/en/guides/upload.md | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 docs/3.x.x/en/guides/email.md diff --git a/docs/3.x.x/en/guides/email.md b/docs/3.x.x/en/guides/email.md new file mode 100644 index 0000000000..b9edddd7f8 --- /dev/null +++ b/docs/3.x.x/en/guides/email.md @@ -0,0 +1,34 @@ +# Email + +> ⚠️ This feature requires the Email plugin (installed by default). + +Thanks to the plugin `Email`, you can send email on your server or externals providers such as Sendgrid. + +## Usage + +```js +await strapi.plugins['email'].services.email.send({ + to: 'admin@strapi.io', + from: 'robbot@strapi.io', + replyTo: 'no-reply@strapi.io', + subject: 'Use strapi email provider successfully', + text: 'Hello world!', + html: 'Hello world!' +}); +``` + +## Install providers + +By default Strapi provides a local email system. You might want to send email with Sendgrid or another provider. + +To install a new provider run: + +``` +$ npm install strapi-email-sendgrid@alpha --save +``` + +We have two providers available `strapi-email-sendgrid` and `strapi-upload-mailgun`, use the alpha tag to install one of them. Then, visit `/admin/plugins/email/configurations/development` and configure the provider. + +If you want to create your own, make sure the name starts with `strapi-email-` (duplicating an existing one will be easier to create), modify the `auth` config object and customize the `send` functions. + +Check all community providers available on npmjs.org - [Providers list](https://www.npmjs.com/search?q=strapi-email-) \ No newline at end of file diff --git a/docs/3.x.x/en/guides/upload.md b/docs/3.x.x/en/guides/upload.md index d018798156..eae41c75f4 100644 --- a/docs/3.x.x/en/guides/upload.md +++ b/docs/3.x.x/en/guides/upload.md @@ -136,3 +136,5 @@ $ npm install strapi-upload-aws-s3@alpha --save We have two providers available `strapi-upload-aws-s3` and `strapi-upload-cloudinary`, use the alpha tag to install one of them. Then, visit `/admin/plugins/upload/configurations/development` and configure the provider. If you want to create your own, make sure the name starts with `strapi-upload-` (duplicating an existing one will be easier to create), modify the `auth` config object and customize the `upload` and `delete` functions. + +Check all community providers available on npmjs.org - [Providers list](https://www.npmjs.com/search?q=strapi-upload-) From 3371663e7b17d526e97d515ab4f19f5e48b3c6d5 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Tue, 19 Jun 2018 13:30:28 +0200 Subject: [PATCH 13/14] Update email in menu --- docs/3.x.x/en/SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/3.x.x/en/SUMMARY.md b/docs/3.x.x/en/SUMMARY.md index 9fd3979f28..13b21bf0b1 100644 --- a/docs/3.x.x/en/SUMMARY.md +++ b/docs/3.x.x/en/SUMMARY.md @@ -20,6 +20,7 @@ * [Configurations](configurations/configurations.md) * [Controllers](guides/controllers.md) * [Deployment](guides/deployment.md) +* [Email](guides/email.md) * [File Upload](guides/upload.md) * [Filters](guides/filters.md) * [GraphQL](guides/graphql.md) From 7bdd7f7b39834c683986dcb66431474a0bc77c64 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Tue, 19 Jun 2018 14:03:42 +0200 Subject: [PATCH 14/14] Change migrations links --- docs/3.x.x/en/SUMMARY.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docs/3.x.x/en/SUMMARY.md b/docs/3.x.x/en/SUMMARY.md index 13b21bf0b1..66da253e4b 100644 --- a/docs/3.x.x/en/SUMMARY.md +++ b/docs/3.x.x/en/SUMMARY.md @@ -56,9 +56,4 @@ * [Table of contents](tutorials/README.md) ### Migration -* [Migrating from v1 to v3](migration/migration-guide.md) -* [Migrating from 3.0.0-alpha.7.4 to 3.0.0-alpha.8](migration/migration-guide-alpha-7-4-to-alpha-8.md) -* [Migrating from 3.0.0-alpha.8 to 3.0.0-alpha.9](migration/migration-guide-alpha-8-to-alpha-9.md) -* [Migrating from 3.0.0-alpha.9 to 3.0.0-alpha.10](migration/migration-guide-alpha-9-to-alpha-10.md) -* [Migrating from 3.0.0-alpha.10 to 3.0.0-alpha.11](migration/migration-guide-alpha-10-to-alpha-11.md) -* [Migrating from 3.0.0-alpha.11 to 3.0.0-alpha.12](migration/migration-guide-alpha-11-to-alpha-12.md) +* [Migration guides](https://github.com/strapi/strapi/wiki)