diff --git a/docs/3.x.x/guides/deployment.md b/docs/3.x.x/guides/deployment.md
index ede433da44..6838b50048 100644
--- a/docs/3.x.x/guides/deployment.md
+++ b/docs/3.x.x/guides/deployment.md
@@ -384,6 +384,10 @@ For security reasons, the Content Type Builder plugin is disabled in production.
### Project updates
+When Strapi is deployed to Heroku, Heroku sets the environment variable to `NODE_ENV=production`. In `production mode` Strapi disables the content-type builder (for security reasons). Additionally, if you wanted to change the default production mode in Heroku, it wouldn't work as the file system is temporary. Strapi writes files to the server when you update the content-types and these updates would disappear when Heroku restarts the server.
+
+Therefore, modifications that require writing to model creation or other json files, e.g. creating or changing content-types, require that you make those changes on your dev environment and then push the changes to Heroku.
+
As you continue developing your application with Strapi, you may want to use [version control](https://devcenter.heroku.com/articles/github-integration), or you can continue to use `Git push heroku master` to commit and push changes to Heroku directly.
`Path: ./my-project/`
diff --git a/docs/3.x.x/migration-guide/migration-guide-alpha.25-to-alpha.26.md b/docs/3.x.x/migration-guide/migration-guide-alpha.25-to-alpha.26.md
index fcfbc5aa87..1cc7cc5a3e 100644
--- a/docs/3.x.x/migration-guide/migration-guide-alpha.25-to-alpha.26.md
+++ b/docs/3.x.x/migration-guide/migration-guide-alpha.25-to-alpha.26.md
@@ -1,13 +1,12 @@
-# Migration guide from alpha.25 to alpha.26
+# Migration guide from alpha.25 to alpha.26.2
**Here are the major changes:**
-- Deep filtering
-- Content type builder refactoring
+- Fix some issues
**Useful links:**
- Changelog: [https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.26](https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.26)
-- GitHub diff: [https://github.com/strapi/strapi/compare/v3.0.0-alpha.25...v3.0.0-alpha.26](https://github.com/strapi/strapi/compare/v3.0.0-alpha.25...v3.0.0-alpha.26)
+- GitHub diff: [https://github.com/strapi/strapi/compare/v3.0.0-alpha.25...v3.0.0-alpha.26.2](https://github.com/strapi/strapi/compare/v3.0.0-alpha.25...v3.0.0-alpha.26.2)
@@ -19,7 +18,7 @@ Feel free to [join us on Slack](http://slack.strapi.io) and ask questions about
## Getting started
-Install Strapi `alpha.26` globally on your computer. To do so run `npm install strapi@3.0.0-alpha.26 -g`.
+Install Strapi `alpha.26.2` globally on your computer. To do so run `npm install strapi@3.0.0-alpha.26.2 -g`.
When it's done, generate a new empty project `strapi new myNewProject` (don't pay attention to the database configuration).
@@ -27,9 +26,9 @@ When it's done, generate a new empty project `strapi new myNewProject` (don't pa
## Update node modules
-Update the Strapi's dependencies version (move Strapi's dependencies to `3.0.0-alpha.26` version) of your project.
+Update the Strapi's dependencies version (move Strapi's dependencies to `3.0.0-alpha.26.2` version) of your project.
-Run `npm install strapi@3.0.0-alpha.26 --save` to update your strapi version.
+Run `npm install strapi@3.0.0-alpha.26.2 --save` to update your strapi version.
@@ -182,4 +181,4 @@ And replace `<%= globalID %>` by the Global of your API.
-That's all, you have now upgraded to Strapi `alpha.26`.
+That's all, you have now upgraded to Strapi `alpha.26.2`.
diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json
index 569061eea5..8457ebbc7d 100644
--- a/examples/getstarted/package.json
+++ b/examples/getstarted/package.json
@@ -1,7 +1,7 @@
{
"name": "getstarted",
"private": true,
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "A Strapi application.",
"main": "./server.js",
"scripts": {
@@ -23,22 +23,22 @@
"lodash": "^4.17.5",
"pg": "^7.10.0",
"sqlite3": "^4.0.6",
- "strapi": "3.0.0-alpha.26.1",
- "strapi-admin": "3.0.0-alpha.26.1",
- "strapi-hook-bookshelf": "3.0.0-alpha.26.1",
- "strapi-hook-knex": "3.0.0-alpha.26.1",
- "strapi-middleware-views": "3.0.0-alpha.26.1",
- "strapi-plugin-content-manager": "3.0.0-alpha.26.1",
- "strapi-plugin-content-type-builder": "3.0.0-alpha.26.1",
- "strapi-plugin-documentation": "3.0.0-alpha.26.1",
- "strapi-plugin-email": "3.0.0-alpha.26.1",
- "strapi-plugin-graphql": "3.0.0-alpha.26.1",
- "strapi-plugin-settings-manager": "3.0.0-alpha.26.1",
- "strapi-plugin-upload": "3.0.0-alpha.26.1",
- "strapi-plugin-users-permissions": "3.0.0-alpha.26.1",
- "strapi-provider-email-mailgun": "3.0.0-alpha.26.1",
- "strapi-provider-upload-aws-s3": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi": "3.0.0-alpha.26.2",
+ "strapi-admin": "3.0.0-alpha.26.2",
+ "strapi-hook-bookshelf": "3.0.0-alpha.26.2",
+ "strapi-hook-knex": "3.0.0-alpha.26.2",
+ "strapi-middleware-views": "3.0.0-alpha.26.2",
+ "strapi-plugin-content-manager": "3.0.0-alpha.26.2",
+ "strapi-plugin-content-type-builder": "3.0.0-alpha.26.2",
+ "strapi-plugin-documentation": "3.0.0-alpha.26.2",
+ "strapi-plugin-email": "3.0.0-alpha.26.2",
+ "strapi-plugin-graphql": "3.0.0-alpha.26.2",
+ "strapi-plugin-settings-manager": "3.0.0-alpha.26.2",
+ "strapi-plugin-upload": "3.0.0-alpha.26.2",
+ "strapi-plugin-users-permissions": "3.0.0-alpha.26.2",
+ "strapi-provider-email-mailgun": "3.0.0-alpha.26.2",
+ "strapi-provider-upload-aws-s3": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"author": {
"name": "alex",
diff --git a/lerna.json b/lerna.json
index 885138ad7b..dfd8f75f25 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"packages": [
"packages/*",
"examples/*"
diff --git a/package.json b/package.json
index 8c2223c6c6..f737f68f81 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"private": true,
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.4.3",
diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json
index de133121a7..245d6c4a8a 100644
--- a/packages/strapi-admin/package.json
+++ b/packages/strapi-admin/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-admin",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Strapi Admin",
"repository": {
"type": "git",
@@ -72,8 +72,8 @@
"sanitize.css": "^4.1.0",
"sass-loader": "^7.1.0",
"shelljs": "^0.7.8",
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2",
"style-loader": "^0.23.1",
"styled-components": "^4.2.0",
"terser-webpack-plugin": "^1.2.3",
@@ -81,9 +81,6 @@
"video-react": "^0.13.2",
"webpack": "^4.29.6"
},
- "peerDependencies": {
- "strapi-admin": "3.0.0-alpha.26.1"
- },
"author": {
"name": "Strapi",
"email": "",
diff --git a/packages/strapi-generate-admin/package.json b/packages/strapi-generate-admin/package.json
new file mode 100644
index 0000000000..3a132e517f
--- /dev/null
+++ b/packages/strapi-generate-admin/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "strapi-generate-admin",
+ "version": "3.0.0-alpha.26.2",
+ "description": "Generate the default admin panel for a Strapi application.",
+ "homepage": "http://strapi.io",
+ "keywords": [
+ "generate",
+ "generator",
+ "strapi"
+ ],
+ "main": "./lib/index.js",
+ "directories": {
+ "lib": "./lib"
+ },
+ "scripts": {
+ "test": "echo \"no tests yet\""
+ },
+ "dependencies": {
+ "fs-extra": "^4.0.1",
+ "lodash": "^4.17.5",
+ "shelljs": "^0.7.8",
+ "strapi-admin": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
+ },
+ "author": {
+ "email": "hi@strapi.io",
+ "name": "Strapi team",
+ "url": "http://strapi.io"
+ },
+ "maintainers": [
+ {
+ "name": "Strapi team",
+ "email": "hi@strapi.io",
+ "url": "http://strapi.io"
+ }
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/strapi/strapi.git"
+ },
+ "bugs": {
+ "url": "https://github.com/strapi/strapi/issues"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 6.0.0"
+ },
+ "license": "MIT"
+}
\ No newline at end of file
diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json
index 5e7998428f..f78617a718 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 b4ec5e7267..a67422b391 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 8d8fa6ed4e..1d25a3b462 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 ae217cff6b..5ca5e6e74d 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Generate a new Strapi application.",
"homepage": "http://strapi.io",
"keywords": [
@@ -22,7 +22,7 @@
"ora": "^2.1.0",
"request": "^2.88.0",
"rimraf": "^2.6.3",
- "strapi-utils": "3.0.0-alpha.26.1",
+ "strapi-utils": "3.0.0-alpha.26.2",
"uuid": "^3.1.0"
},
"scripts": {
diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json
index 5d5a7c5036..d085638e2e 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 cfa531e0e5..6a87794f99 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 b3a659e716..2afc2b97da 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 edc5f54ce8..24ce5db994 100644
--- a/packages/strapi-generate/package.json
+++ b/packages/strapi-generate/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-generate",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Master of ceremonies for the Strapi generators.",
"homepage": "http://strapi.io",
"keywords": [
@@ -20,7 +20,7 @@
"fs-extra": "^4.0.0",
"lodash": "^4.17.5",
"reportback": "^2.0.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"author": {
"name": "Strapi team",
diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json
index a0e0a9254d..718b564832 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Helper for Strapi plugins development",
"files": [
"dist"
diff --git a/packages/strapi-hook-bookshelf/lib/buildDatabaseSchema.js b/packages/strapi-hook-bookshelf/lib/buildDatabaseSchema.js
index 07b493bfb7..c91378f9e1 100644
--- a/packages/strapi-hook-bookshelf/lib/buildDatabaseSchema.js
+++ b/packages/strapi-hook-bookshelf/lib/buildDatabaseSchema.js
@@ -3,7 +3,7 @@ const pluralize = require('pluralize');
const { models: utilsModels } = require('strapi-utils');
/* global StrapiConfigs */
-module.exports = async ({ ORM, loadedModel, definition, connection }) => {
+module.exports = async ({ ORM, loadedModel, definition, connection, model }) => {
const quote = definition.client === 'pg' ? '"' : '`';
// Equilize database tables
@@ -269,6 +269,9 @@ module.exports = async ({ ORM, loadedModel, definition, connection }) => {
};
}
+ // Save all attributes (with timestamps)
+ model.allAttributes = _.clone(definition.attributes);
+
// Equilize tables
if (connection.options && connection.options.autoMigration !== false) {
await handler(loadedModel.tableName, definition.attributes);
diff --git a/packages/strapi-hook-bookshelf/lib/index.js b/packages/strapi-hook-bookshelf/lib/index.js
index 3c4ebcd02a..994951572a 100644
--- a/packages/strapi-hook-bookshelf/lib/index.js
+++ b/packages/strapi-hook-bookshelf/lib/index.js
@@ -515,8 +515,10 @@ module.exports = function(strapi) {
definition,
loadedModel,
connection,
+ model: target[model],
})
);
+
} catch (err) {
strapi.log.error(
`Impossible to register the '${model}' model.`
@@ -652,7 +654,9 @@ module.exports = function(strapi) {
}
case 'belongsToMany': {
const collection = details.plugin
- ? strapi.plugins[details.plugin].models[details.collection]
+ ? strapi.plugins[details.plugin].models[
+ details.collection
+ ]
: strapi.models[details.collection];
const collectionName =
diff --git a/packages/strapi-hook-bookshelf/package.json b/packages/strapi-hook-bookshelf/package.json
index d7bbfc6d4b..8a2d15025e 100644
--- a/packages/strapi-hook-bookshelf/package.json
+++ b/packages/strapi-hook-bookshelf/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-hook-bookshelf",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Bookshelf hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@@ -21,8 +21,8 @@
"lodash": "^4.17.5",
"pluralize": "^6.0.0",
"rimraf": "^2.6.2",
- "strapi-hook-knex": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-hook-knex": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"strapi": {
"dependencies": [
diff --git a/packages/strapi-hook-ejs/package.json b/packages/strapi-hook-ejs/package.json
index 5565a9d08f..d1b5c198c0 100644
--- a/packages/strapi-hook-ejs/package.json
+++ b/packages/strapi-hook-ejs/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-hook-ejs",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "EJS hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-hook-knex/package.json b/packages/strapi-hook-knex/package.json
index 8c02178bb4..d2dfca0f25 100644
--- a/packages/strapi-hook-knex/package.json
+++ b/packages/strapi-hook-knex/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-hook-knex",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Knex hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-hook-mongoose/lib/buildQuery.js b/packages/strapi-hook-mongoose/lib/buildQuery.js
index c48cde4e34..83ce836f6e 100644
--- a/packages/strapi-hook-mongoose/lib/buildQuery.js
+++ b/packages/strapi-hook-mongoose/lib/buildQuery.js
@@ -29,12 +29,10 @@ const buildQuery = ({ model, filters = {}, populate = [], aggregate = false } =
const buildSimpleQuery = ({ model, filters, populate }) => {
const { where = [] } = filters;
- const wheres = where.reduce(
- (acc, whereClause) => _.assign(acc, buildWhereClause(whereClause)),
- {}
- );
+ const wheres = where.map(buildWhereClause);
+ const findCriteria = wheres.length > 0 ? { $and: wheres } : {};
- let query = model.find(wheres).populate(populate);
+ let query = model.find(findCriteria).populate(populate);
query = applyQueryParams({ query, filters });
return Object.assign(query, {
diff --git a/packages/strapi-hook-mongoose/lib/index.js b/packages/strapi-hook-mongoose/lib/index.js
index f2ab9b9d4f..3e4b608000 100644
--- a/packages/strapi-hook-mongoose/lib/index.js
+++ b/packages/strapi-hook-mongoose/lib/index.js
@@ -341,6 +341,9 @@ module.exports = function(strapi) {
_.get(definition, 'options.minimize', false) === true,
);
+ // Save all attributes (with timestamps)
+ target[model].allAttributes = _.clone(definition.attributes);
+
collection.schema.options.toObject = collection.schema.options.toJSON = {
virtuals: true,
transform: function(doc, returned, opts) {
diff --git a/packages/strapi-hook-mongoose/package.json b/packages/strapi-hook-mongoose/package.json
index 6429fc7daf..aeefa140c6 100644
--- a/packages/strapi-hook-mongoose/package.json
+++ b/packages/strapi-hook-mongoose/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-hook-mongoose",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Mongoose hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@@ -20,7 +20,7 @@
"mongoose-float": "^1.0.3",
"pluralize": "^6.0.0",
"rimraf": "^2.6.2",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"author": {
"email": "hi@strapi.io",
diff --git a/packages/strapi-hook-redis/package.json b/packages/strapi-hook-redis/package.json
index e17b0209ec..289d50b9df 100644
--- a/packages/strapi-hook-redis/package.json
+++ b/packages/strapi-hook-redis/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-hook-redis",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Redis hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@@ -19,7 +19,7 @@
"lodash": "^4.17.5",
"rimraf": "^2.6.2",
"stack-trace": "0.0.10",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"author": {
"email": "hi@strapi.io",
diff --git a/packages/strapi-lint/package.json b/packages/strapi-lint/package.json
new file mode 100644
index 0000000000..bc9380aafb
--- /dev/null
+++ b/packages/strapi-lint/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "strapi-lint",
+ "version": "3.0.0-alpha.26.2",
+ "description": "Strapi eslint and prettier configurations",
+ "directories": {
+ "lib": "lib"
+ },
+ "scripts": {
+ "test": "echo \"no tests yet\""
+ },
+ "author": {
+ "email": "hi@strapi.io",
+ "name": "Strapi team",
+ "url": "http://strapi.io"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 6.0.0"
+ },
+ "maintainers": [
+ {
+ "name": "Strapi team",
+ "email": "hi@strapi.io",
+ "url": "http://strapi.io"
+ }
+ ],
+ "license": "MIT",
+ "devDependencies": {
+ "eslint": "^4.19.1",
+ "eslint-config-airbnb": "^16.1.0",
+ "eslint-config-airbnb-base": "^12.1.0",
+ "eslint-config-prettier": "^2.9.0",
+ "eslint-import-resolver-webpack": "^0.9.0",
+ "eslint-plugin-import": "^2.11.0",
+ "eslint-plugin-jsx-a11y": "^6.0.3",
+ "eslint-plugin-react": "^7.7.0",
+ "eslint-plugin-redux-saga": "^0.8.0",
+ "webpack": "^4.6.0"
+ },
+ "dependencies": {
+ "babel-eslint": "^8.2.3",
+ "prettier": "^1.12.1",
+ "shelljs": "^0.7.8"
+ }
+}
\ No newline at end of file
diff --git a/packages/strapi-middleware-views/package.json b/packages/strapi-middleware-views/package.json
index 8793320f76..bc1f055483 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Views middleware to enable server-side rendering for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json
index 985183acf7..13b45a6a6c 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "A powerful UI to easily manage your data.",
"strapi": {
"name": "Content Manager",
@@ -15,8 +15,8 @@
"draft-js": "^0.10.5",
"pluralize": "^7.0.0",
"showdown": "^1.9.0",
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-helper-plugin": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"peerDependencies": {
"classnames": "^2.2.6",
diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json
index 080cfbd043..d0405e98b8 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Strapi plugin to create content type (API).",
"strapi": {
"name": "Content Type Builder",
@@ -13,9 +13,9 @@
"dependencies": {
"immutable": "^3.8.2",
"pluralize": "^7.0.0",
- "strapi-generate": "3.0.0-alpha.26.1",
- "strapi-generate-api": "3.0.0-alpha.26.1",
- "strapi-helper-plugin": "3.0.0-alpha.26.1"
+ "strapi-generate": "3.0.0-alpha.26.2",
+ "strapi-generate-api": "3.0.0-alpha.26.2",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2"
},
"peerDependencies": {
"classnames": "^2.2.6",
diff --git a/packages/strapi-plugin-documentation/package.json b/packages/strapi-plugin-documentation/package.json
index 4b48c7b836..5a1fe221c3 100755
--- a/packages/strapi-plugin-documentation/package.json
+++ b/packages/strapi-plugin-documentation/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-plugin-documentation",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Documentation",
@@ -14,7 +14,7 @@
"cheerio": "^1.0.0-rc.2",
"moment": "^2.22.2",
"path-to-regexp": "^2.4.0",
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2",
"swagger-ui-dist": "3.22.1"
},
"peerDependencies": {
diff --git a/packages/strapi-plugin-email/package.json b/packages/strapi-plugin-email/package.json
index cfc038521a..0c4d55aecd 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Email",
@@ -11,24 +11,13 @@
"test": "echo \"no tests yet\""
},
"dependencies": {
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
- "strapi-provider-email-sendmail": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-provider-email-sendmail": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
},
- "peerDependencies": {
- "classnames": "^2.2.6",
- "immutable": "^3.8.2",
- "invariant": "^2.2.1",
- "lodash": "^4.17.11",
- "react": "^16.0.0",
- "react-copy-to-clipboard": "^5.0.1",
- "react-dom": "^16.0.0",
- "react-intl": "^2.8.0",
- "react-redux": "^7.0.2",
- "react-router": "^5.0.0",
- "react-router-dom": "^5.0.0",
- "react-transition-group": "^2.5.0",
- "reactstrap": "^5.0.0"
+ "devDependencies": {
+ "react-copy-to-clipboard": "5.0.1",
+ "rimraf": "^2.6.3",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2"
},
"author": {
"name": "Strapi team",
diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json
index 1916ac4947..6098e43927 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "This is the description of the plugin.",
"strapi": {
"name": "graphql",
@@ -22,7 +22,7 @@
"graphql-type-json": "^0.2.1",
"graphql-type-long": "^0.1.1",
"pluralize": "^7.0.0",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"devDependencies": {
"cross-env": "^5.2.0",
diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json
index 6bb64eaee7..31ab73009d 100644
--- 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Strapi plugin to manage settings.",
"strapi": {
"name": "Settings Manager",
@@ -12,7 +12,7 @@
},
"dependencies": {
"shelljs": "^0.7.8",
- "strapi-helper-plugin": "3.0.0-alpha.26.1"
+ "strapi-helper-plugin": "3.0.0-alpha.26.2"
},
"peerDependencies": {
"classnames": "^2.2.6",
diff --git a/packages/strapi-plugin-upload/package.json b/packages/strapi-plugin-upload/package.json
index 82fc749742..c31cd3a145 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Files Upload",
@@ -11,9 +11,9 @@
"test": "echo \"no tests yet\""
},
"dependencies": {
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
- "strapi-provider-upload-local": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2",
+ "strapi-provider-upload-local": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2",
"stream-to-array": "^2.3.0",
"uuid": "^3.2.1"
},
diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json
index 7dc8ddd418..774875df3d 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.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Protect your API with a full-authentication process based on JWT",
"strapi": {
"name": "Roles & Permissions",
@@ -31,8 +31,8 @@
"reactstrap": "^5.0.0",
"redux-saga": "^0.16.0",
"request": "^2.83.0",
- "strapi-helper-plugin": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1",
+ "strapi-helper-plugin": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2",
"uuid": "^3.1.0"
},
"author": {
diff --git a/packages/strapi-provider-email-amazon-ses/package.json b/packages/strapi-provider-email-amazon-ses/package.json
index 60ae5b0497..a3e7ac311c 100644
--- a/packages/strapi-provider-email-amazon-ses/package.json
+++ b/packages/strapi-provider-email-amazon-ses/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-amazon-ses",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Amazon SES provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-email-mailgun/package.json b/packages/strapi-provider-email-mailgun/package.json
index 2985fbcc1b..7eb9c926a7 100644
--- a/packages/strapi-provider-email-mailgun/package.json
+++ b/packages/strapi-provider-email-mailgun/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-mailgun",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Mailgun provider for strapi email plugin",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-email-sendgrid/package.json b/packages/strapi-provider-email-sendgrid/package.json
index bd88683782..e2c352d59d 100644
--- a/packages/strapi-provider-email-sendgrid/package.json
+++ b/packages/strapi-provider-email-sendgrid/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-sendgrid",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Sendgrid provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-email-sendmail/package.json b/packages/strapi-provider-email-sendmail/package.json
index 6f37eef5c4..8bc53561ed 100644
--- a/packages/strapi-provider-email-sendmail/package.json
+++ b/packages/strapi-provider-email-sendmail/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-sendmail",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Sendmail provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-upload-aws-s3/package.json b/packages/strapi-provider-upload-aws-s3/package.json
index 30eff80b67..601bdee7cc 100644
--- a/packages/strapi-provider-upload-aws-s3/package.json
+++ b/packages/strapi-provider-upload-aws-s3/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-aws-s3",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "AWS S3 provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-upload-cloudinary/package.json b/packages/strapi-provider-upload-cloudinary/package.json
index 42ceb0e1c9..a9f56bd0d7 100644
--- a/packages/strapi-provider-upload-cloudinary/package.json
+++ b/packages/strapi-provider-upload-cloudinary/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-cloudinary",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Cloudinary provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-upload-local/package.json b/packages/strapi-provider-upload-local/package.json
index cd312f6a03..8440d7b991 100644
--- a/packages/strapi-provider-upload-local/package.json
+++ b/packages/strapi-provider-upload-local/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-local",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Local provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [
diff --git a/packages/strapi-provider-upload-rackspace/package.json b/packages/strapi-provider-upload-rackspace/package.json
index 29cfc28b10..5f9a89e6d6 100644
--- a/packages/strapi-provider-upload-rackspace/package.json
+++ b/packages/strapi-provider-upload-rackspace/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-rackspace",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"description": "Rackspace provider for strapi upload",
"main": "./lib",
"keywords": [],
diff --git a/packages/strapi-utils/lib/buildQuery.js b/packages/strapi-utils/lib/buildQuery.js
index d7507f5d19..b66b43b55d 100644
--- a/packages/strapi-utils/lib/buildQuery.js
+++ b/packages/strapi-utils/lib/buildQuery.js
@@ -5,7 +5,7 @@ const findModelByAssoc = assoc => {
return models[assoc.collection || assoc.model];
};
-const isAttribute = (model, field) => _.has(model.attributes, field) || model.primaryKey === field;
+const isAttribute = (model, field) => _.has(model.allAttributes, field) || model.primaryKey === field;
/**
* Returns the model, attribute name and association from a path of relation
@@ -98,7 +98,7 @@ const buildQuery = ({ model, filters = {}, ...rest }) => {
// cast where clauses to match the inner types
filters.where = filters.where
- .filter(({ value }) => value)
+ .filter(({ value }) => !_.isNil(value))
.map(({ field, operator, value }) => {
const { model: assocModel, attribute } = getAssociationFromFieldKey({
model,
@@ -106,7 +106,13 @@ const buildQuery = ({ model, filters = {}, ...rest }) => {
});
const { type } = _.get(assocModel, ['attributes', attribute], {});
- return { field, operator, value: castValueToType({ type, value }) };
+
+ // cast value or array of values
+ const castedValue = Array.isArray(value)
+ ? value.map(val => castValueToType({ type, value: val }))
+ : castValueToType({ type, value: value });
+
+ return { field, operator, value: castedValue };
});
}
diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json
index 80eb04404c..26849a4e40 100644
--- a/packages/strapi-utils/package.json
+++ b/packages/strapi-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi-utils",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"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 b1231a75d6..f9380383ea 100644
--- a/packages/strapi/package.json
+++ b/packages/strapi/package.json
@@ -1,6 +1,6 @@
{
"name": "strapi",
- "version": "3.0.0-alpha.26.1",
+ "version": "3.0.0-alpha.26.2",
"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": [
@@ -62,15 +62,15 @@
"ora": "^3.0.0",
"rimraf": "^2.6.2",
"shelljs": "^0.8.3",
- "strapi-generate": "3.0.0-alpha.26.1",
- "strapi-generate-api": "3.0.0-alpha.26.1",
- "strapi-generate-controller": "3.0.0-alpha.26.1",
- "strapi-generate-model": "3.0.0-alpha.26.1",
- "strapi-generate-new": "3.0.0-alpha.26.1",
- "strapi-generate-plugin": "3.0.0-alpha.26.1",
- "strapi-generate-policy": "3.0.0-alpha.26.1",
- "strapi-generate-service": "3.0.0-alpha.26.1",
- "strapi-utils": "3.0.0-alpha.26.1"
+ "strapi-generate": "3.0.0-alpha.26.2",
+ "strapi-generate-api": "3.0.0-alpha.26.2",
+ "strapi-generate-controller": "3.0.0-alpha.26.2",
+ "strapi-generate-model": "3.0.0-alpha.26.2",
+ "strapi-generate-new": "3.0.0-alpha.26.2",
+ "strapi-generate-plugin": "3.0.0-alpha.26.2",
+ "strapi-generate-policy": "3.0.0-alpha.26.2",
+ "strapi-generate-service": "3.0.0-alpha.26.2",
+ "strapi-utils": "3.0.0-alpha.26.2"
},
"scripts": {
"test": "jest --verbose",