Merge branch 'master' into add-prettier

This commit is contained in:
Jim LAURIE 2018-05-18 11:16:00 +02:00 committed by GitHub
commit a64e19861f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 153 additions and 99 deletions

View File

@ -1,6 +1,6 @@
{ {
"private": true, "private": true,
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"devDependencies": { "devDependencies": {
"assert": "~1.3.0", "assert": "~1.3.0",
"babel-eslint": "^6.1.2", "babel-eslint": "^6.1.2",

View File

@ -1,10 +1,11 @@
.logout { .logout {
position: relative;
min-width: 19rem; min-width: 19rem;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
> div { > div {
height: 6rem; height: 6rem;
width: 100%; width: 100%;
line-height: 6rem; line-height: 5.8rem;
z-index: 999; z-index: 999;
> button { > button {
width: 100%; width: 100%;
@ -35,6 +36,21 @@
} }
} }
&:after {
position: absolute;
right: -1px;
top: calc(50% - 10px);
content: '';
display: inline-block;
vertical-align: middle;
height: 20px;
border-left: 1px solid #F3F4F4;
transition: opacity .2s ease-out;
}
&:hover:after {
opacity: 0;
}
} }
.dropDownContent { .dropDownContent {

View File

@ -4,6 +4,7 @@
padding-top: 2px; padding-top: 2px;
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
margin: 0;
border-radius: 2px !important; border-radius: 2px !important;
font-size: 13px; font-size: 13px;
font-weight: 500 !important; font-weight: 500 !important;

View File

@ -19,7 +19,7 @@
color: #FFFFFF; color: #FFFFFF;
> div { > div {
> p { > p {
max-width: 43rem; max-width: 50rem;
margin-top: 17px; margin-top: 17px;
margin-bottom: 125px; margin-bottom: 125px;
padding-right: 35px; padding-right: 35px;

View File

@ -94,10 +94,18 @@ export class AdminPage extends React.Component { // eslint-disable-line react/pr
if (get(nextProps.plugins.toJS(), ['users-permissions', 'hasAdminUser']) !== get(this.props.plugins.toJS(), ['users-permissions', 'hasAdminUser'])) { if (get(nextProps.plugins.toJS(), ['users-permissions', 'hasAdminUser']) !== get(this.props.plugins.toJS(), ['users-permissions', 'hasAdminUser'])) {
this.checkLogin(nextProps, true); this.checkLogin(nextProps, true);
} }
if (!this.hasUserPluginLoaded(this.props) && this.hasUserPluginLoaded(nextProps)) {
this.checkLogin(nextProps);
}
} }
checkLogin = (props, skipAction = false) => { checkLogin = (props, skipAction = false) => {
if (props.hasUserPlugin && this.isUrlProtected(props) && !auth.getToken()) { if (props.hasUserPlugin && this.isUrlProtected(props) && !auth.getToken()) {
if (!this.hasUserPluginLoaded(props)) {
return;
}
const endPoint = this.hasAdminUser(props) ? 'login': 'register'; const endPoint = this.hasAdminUser(props) ? 'login': 'register';
this.props.history.push(`/plugins/users-permissions/auth/${endPoint}`); this.props.history.push(`/plugins/users-permissions/auth/${endPoint}`);
} }
@ -134,6 +142,8 @@ export class AdminPage extends React.Component { // eslint-disable-line react/pr
} }
} }
hasUserPluginLoaded = (props) => typeof get(props.plugins.toJS(), ['users-permissions', 'hasAdminUser']) !== 'undefined';
hasAdminUser = (props) => get(props.plugins.toJS(), ['users-permissions', 'hasAdminUser']); hasAdminUser = (props) => get(props.plugins.toJS(), ['users-permissions', 'hasAdminUser']);
isUrlProtected = (props) => !includes(props.location.pathname, get(props.plugins.toJS(), ['users-permissions', 'nonProtectedUrl'])); isUrlProtected = (props) => !includes(props.location.pathname, get(props.plugins.toJS(), ['users-permissions', 'nonProtectedUrl']));
@ -172,8 +182,7 @@ export class AdminPage extends React.Component { // eslint-disable-line react/pr
)} )}
<CTAWrapper> <CTAWrapper>
{this.shouldDisplayLogout() && <Logout />} {this.shouldDisplayLogout() && <Logout />}
{this.shouldDisplayLogout() && <div className={styles.adminPageSeparator} />} <LocaleToggle isLogged={this.shouldDisplayLogout() === true} />
<LocaleToggle />
</CTAWrapper> </CTAWrapper>
<div className={styles.adminPageRightWrapper} style={style}> <div className={styles.adminPageRightWrapper} style={style}>
{header} {header}

View File

@ -14,11 +14,4 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
&:after {
content: '';
display: inline-block;
vertical-align: middle;
height: 20px;
border-left: 1px solid #F3F4F4;
}
} }

View File

@ -134,11 +134,12 @@
button { button {
float: left; float: left;
width: 100px; min-width: 100px;
height: 3.4rem; height: 3.4rem;
margin-top: .9rem; margin-top: .9rem;
padding-left: 20px; padding-left: 20px;
padding-right: 20px; padding-right: 20px;
text-align: center;
background: #333740; background: #333740;
color: #FFFFFF; color: #FFFFFF;
border-top-right-radius: 3px; border-top-right-radius: 3px;

View File

@ -46,7 +46,7 @@ export class LocaleToggle extends React.Component { // eslint-disable-line
<span>{locale}</span> <span>{locale}</span>
<img src={this.getFlagUrl(locale)} alt={locale} /> <img src={this.getFlagUrl(locale)} alt={locale} />
</DropdownToggle> </DropdownToggle>
<DropdownMenu className={styles.localeDropdownMenu}> <DropdownMenu className={cn(styles.localeDropdownMenu, this.props.isLogged ? '' : styles.localeDropdownMenuNotLogged)}>
{languages.map(language => ( {languages.map(language => (
<DropdownItem key={language} onClick={() => this.props.changeLocale(language)} className={cn(styles.localeToggleItem, locale === language ? styles.localeToggleItemActive : '')}> <DropdownItem key={language} onClick={() => this.props.changeLocale(language)} className={cn(styles.localeToggleItem, locale === language ? styles.localeToggleItemActive : '')}>
{language.toUpperCase()} {language.toUpperCase()}
@ -63,6 +63,7 @@ export class LocaleToggle extends React.Component { // eslint-disable-line
LocaleToggle.propTypes = { LocaleToggle.propTypes = {
changeLocale: PropTypes.func.isRequired, changeLocale: PropTypes.func.isRequired,
isLogged: PropTypes.string.isRequired,
locale: PropTypes.string.isRequired, locale: PropTypes.string.isRequired,
}; };

View File

@ -1,9 +1,10 @@
.localeToggle { .localeToggle {
min-width: 90px; min-width: 90px;
> div { > div {
height: 6rem; height: 6rem;
width: 90px; width: 90px;
line-height: 6rem; line-height: 5.8rem;
z-index: 999; z-index: 999;
> button { > button {
width: 100%; width: 100%;
@ -43,18 +44,19 @@
font-weight: 600; font-weight: 600;
letter-spacing: 0.5; letter-spacing: 0.5;
text-transform: uppercase; text-transform: uppercase;
vertical-align: baseline;
} }
img { img {
max-height: 13.37px; max-height: 13px;
margin-left: 9px; margin-left: 9px;
border-radius: 1px; border-radius: 1px;
vertical-align: middle;
} }
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
} }
.localeDropdownMenu { .localeDropdownMenu {
left: auto !important; left: auto !important;
right: -5px !important; right: -5px !important;
@ -112,6 +114,26 @@
} }
} }
} }
.localeDropdownMenuNotLogged{
background: transparent !important;
box-shadow: none !important;
border: 1px solid #e3e9f3 !important;
border-top: 0px !important;
button {
padding-left: 17px;
&:hover {
background-color: #F7F8F8 !important;
}
}
&:before{
box-shadow: none !important;
}
}
.localeToggleItem { .localeToggleItem {
img { img {
max-height: 13.37px; max-height: 13.37px;

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-admin", "name": "strapi-admin",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Strapi Admin", "description": "Strapi Admin",
"repository": { "repository": {
"type": "git", "type": "git",
@ -20,7 +20,7 @@
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js", "generate": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"", "test": "echo \"Error: no test specified\"",
"prepublishOnly": "npm run build", "prepublishOnly": "IS_MONOREPO=true npm run build",
"setup": "node ./scripts/setup.js", "setup": "node ./scripts/setup.js",
"presetup": "node ./scripts/preSetup.js" "presetup": "node ./scripts/preSetup.js"
}, },
@ -31,8 +31,8 @@
}, },
"devDependencies": { "devDependencies": {
"sanitize.css": "^4.1.0", "sanitize.css": "^4.1.0",
"strapi-helper-plugin": "3.0.0-alpha.12.1.3", "strapi-helper-plugin": "3.0.0-alpha.12.2",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi", "name": "Strapi",
@ -51,4 +51,4 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -17,6 +17,7 @@ const utilsModels = require('strapi-utils').models;
// Local helpers. // Local helpers.
const utils = require('./utils/'); const utils = require('./utils/');
const relations = require('./relations');
const PIVOT_PREFIX = '_pivot_'; const PIVOT_PREFIX = '_pivot_';
const GLOBALS = {}; const GLOBALS = {};

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-bookshelf", "name": "strapi-bookshelf",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Bookshelf hook for the Strapi framework", "description": "Bookshelf hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -20,8 +20,8 @@
"inquirer": "^5.2.0", "inquirer": "^5.2.0",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"pluralize": "^6.0.0", "pluralize": "^6.0.0",
"strapi-knex": "3.0.0-alpha.12.1.3", "strapi-knex": "3.0.0-alpha.12.2",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"strapi": { "strapi": {
"isHook": true, "isHook": true,

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-ejs", "name": "strapi-ejs",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "EJS hook for the Strapi framework", "description": "EJS hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-admin", "name": "strapi-generate-admin",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate the default admin panel for a Strapi application.", "description": "Generate the default admin panel for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -15,7 +15,7 @@
"dependencies": { "dependencies": {
"fs-extra": "^4.0.1", "fs-extra": "^4.0.1",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"strapi-admin": "3.0.0-alpha.12.1.3" "strapi-admin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"email": "hi@strapi.io", "email": "hi@strapi.io",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-api", "name": "strapi-generate-api",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate an API for a Strapi application.", "description": "Generate an API for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-controller", "name": "strapi-generate-controller",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate a controller for a Strapi API.", "description": "Generate a controller for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-model", "name": "strapi-generate-model",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate a model for a Strapi API.", "description": "Generate a model for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-new", "name": "strapi-generate-new",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate a new Strapi application.", "description": "Generate a new Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -18,7 +18,7 @@
"get-installed-path": "^3.0.1", "get-installed-path": "^3.0.1",
"inquirer": "^4.0.2", "inquirer": "^4.0.2",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"strapi-utils": "3.0.0-alpha.12.1.3", "strapi-utils": "3.0.0-alpha.12.2",
"uuid": "^3.1.0" "uuid": "^3.1.0"
}, },
"scripts": { "scripts": {

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-plugin", "name": "strapi-generate-plugin",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate an plugin for a Strapi application.", "description": "Generate an plugin for a Strapi application.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-policy", "name": "strapi-generate-policy",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate a policy for a Strapi API.", "description": "Generate a policy for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate-service", "name": "strapi-generate-service",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Generate a service for a Strapi API.", "description": "Generate a service for a Strapi API.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-generate", "name": "strapi-generate",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Master of ceremonies for the Strapi generators.", "description": "Master of ceremonies for the Strapi generators.",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -17,7 +17,7 @@
"fs-extra": "^4.0.0", "fs-extra": "^4.0.0",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"reportback": "^2.0.1", "reportback": "^2.0.1",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -155,6 +155,7 @@ module.exports = (options) => {
require.resolve('babel-plugin-transform-es2015-destructuring'), require.resolve('babel-plugin-transform-es2015-destructuring'),
require.resolve('babel-plugin-transform-es2015-parameters'), require.resolve('babel-plugin-transform-es2015-parameters'),
require.resolve('babel-plugin-transform-object-rest-spread'), require.resolve('babel-plugin-transform-object-rest-spread'),
[require.resolve('babel-plugin-styled-components'), { ssr: true, preprocess: true }],
], ],
}, },
test: { test: {

View File

@ -49,7 +49,7 @@ if (process.env.npm_lifecycle_event === 'start') {
plugins.src = process.env.IS_ADMIN === 'true' && !plugins.exist ? fs.readdirSync(path.resolve(appPath, 'plugins')).filter(x => { plugins.src = process.env.IS_ADMIN === 'true' && !plugins.exist ? fs.readdirSync(path.resolve(appPath, 'plugins')).filter(x => {
let hasAdminFolder; let hasAdminFolder;
// Don't inject the plugins that don't have an admin into the app // Don't inject the plugins that don't have an admin into the app
try { try {
fs.accessSync(path.resolve(appPath, 'plugins', x, 'admin', 'src', 'containers', 'App')); fs.accessSync(path.resolve(appPath, 'plugins', x, 'admin', 'src', 'containers', 'App'));
hasAdminFolder = true; hasAdminFolder = true;
@ -144,6 +144,7 @@ module.exports = require('./webpack.base.babel')({
'react-dom': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'), 'react-dom': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'),
'react-transition-group': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'), 'react-transition-group': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'),
'reactstrap': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap'), 'reactstrap': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap'),
'styled-components': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'styled-components')
}, },
// Emit a source map for easier debugging // Emit a source map for easier debugging

View File

@ -172,6 +172,7 @@ module.exports = base({
'react-dom': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'), 'react-dom': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'),
'react-transition-group': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'), 'react-transition-group': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'),
'reactstrap': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap'), 'reactstrap': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap'),
'styled-components': path.resolve(rootAdminpath, 'node_modules', 'strapi-helper-plugin', 'node_modules', 'styled-components'),
}, },
devtool: 'cheap-module-source-map', devtool: 'cheap-module-source-map',

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-helper-plugin", "name": "strapi-helper-plugin",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Helper for Strapi plugins development", "description": "Helper for Strapi plugins development",
"engines": { "engines": {
"node": ">= 9.0.0", "node": ">= 9.0.0",
@ -33,6 +33,7 @@
"babel-eslint": "^7.2.3", "babel-eslint": "^7.2.3",
"babel-loader": "^7.1.1", "babel-loader": "^7.1.1",
"babel-plugin-istanbul": "^4.1.5", "babel-plugin-istanbul": "^4.1.5",
"babel-plugin-styled-components": "^1.5.1",
"babel-plugin-transform-es2015-destructuring": "^6.23.0", "babel-plugin-transform-es2015-destructuring": "^6.23.0",
"babel-plugin-transform-es2015-parameters": "^6.24.1", "babel-plugin-transform-es2015-parameters": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-plugin-transform-object-rest-spread": "^6.26.0",
@ -108,6 +109,7 @@
"shelljs": "^0.7.8", "shelljs": "^0.7.8",
"showdown": "^1.8.6", "showdown": "^1.8.6",
"style-loader": "^0.18.2", "style-loader": "^0.18.2",
"styled-components": "^3.2.6",
"url-loader": "^0.5.9", "url-loader": "^0.5.9",
"webpack": "^3.5.5", "webpack": "^3.5.5",
"webpack-bundle-analyzer": "^2.9.0", "webpack-bundle-analyzer": "^2.9.0",
@ -115,4 +117,4 @@
"webpack-hot-middleware": "^2.18.2", "webpack-hot-middleware": "^2.18.2",
"whatwg-fetch": "^2.0.3" "whatwg-fetch": "^2.0.3"
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-knex", "name": "strapi-knex",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Knex hook for the Strapi framework", "description": "Knex hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-lint", "name": "strapi-lint",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Strapi eslint and prettier configurations", "description": "Strapi eslint and prettier configurations",
"directories": { "directories": {
"lib": "lib" "lib": "lib"

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-middleware-views", "name": "strapi-middleware-views",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Views hook to enable server-side rendering for the Strapi framework", "description": "Views hook to enable server-side rendering for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -21,7 +21,8 @@ module.exports = {
.findOne({ .findOne({
[this.primaryKey]: params[this.primaryKey] || params.id [this.primaryKey]: params[this.primaryKey] || params.id
}) })
.populate(this.associations.map(x => x.alias).join(' ')); .populate(this.associations.map(x => x.alias).join(' '))
.lean();
// Only update fields which are on this document. // Only update fields which are on this document.
const values = params.parseRelationships === false ? params.values : Object.keys(JSON.parse(JSON.stringify(params.values))).reduce((acc, current) => { const values = params.parseRelationships === false ? params.values : Object.keys(JSON.parse(JSON.stringify(params.values))).reduce((acc, current) => {
@ -270,13 +271,17 @@ module.exports = {
However the upload doesn't need this method. It only uses the `removeRelationMorph`. However the upload doesn't need this method. It only uses the `removeRelationMorph`.
*/ */
const entry = ( let entry = (
await this await this
.findOne({ .findOne({
[this.primaryKey]: getValuePrimaryKey(params, this.primaryKey) [this.primaryKey]: getValuePrimaryKey(params, this.primaryKey)
}) })
.toJSON()
); );
if (entry) {
entry = entry.toJSON();
}
const value = []; const value = [];
// Retrieve association. // Retrieve association.

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-mongoose", "name": "strapi-mongoose",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Mongoose hook for the Strapi framework", "description": "Mongoose hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -19,7 +19,7 @@
"mongoose": "^5.0.16", "mongoose": "^5.0.16",
"mongoose-float": "^1.0.2", "mongoose-float": "^1.0.2",
"pluralize": "^6.0.0", "pluralize": "^6.0.0",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"strapi": { "strapi": {
"isHook": true "isHook": true

View File

@ -2,7 +2,7 @@
coverage coverage
node_modules node_modules
stats.json stats.json
layout.json config/layout.json
package-lock.json package-lock.json
# Cruft # Cruft

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-content-manager", "name": "strapi-plugin-content-manager",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "A powerful UI to easily manage your data.", "description": "A powerful UI to easily manage your data.",
"strapi": { "strapi": {
"name": "Content Manager", "name": "Content Manager",
@ -19,11 +19,11 @@
"generate": "node ./node_modules/plop/plop.js --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js", "generate": "node ./node_modules/plop/plop.js --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"", "test": "echo \"Error: no test specified\"",
"prepublishOnly": "npm run build" "prepublishOnly": "IS_MONOREPO=true npm run build"
}, },
"devDependencies": { "devDependencies": {
"react-select": "^1.0.0-rc.5", "react-select": "^1.0.0-rc.5",
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",
@ -46,4 +46,4 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-content-type-builder", "name": "strapi-plugin-content-type-builder",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Strapi plugin to create content type (API).", "description": "Strapi plugin to create content type (API).",
"strapi": { "strapi": {
"name": "Content Type Builder", "name": "Content Type Builder",
@ -19,15 +19,15 @@
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", "generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"", "test": "echo \"Error: no test specified\"",
"prepublishOnly": "npm run build" "prepublishOnly": "IS_MONOREPO=true npm run build"
}, },
"dependencies": { "dependencies": {
"pluralize": "^7.0.0", "pluralize": "^7.0.0",
"strapi-generate": "3.0.0-alpha.12.1.3", "strapi-generate": "3.0.0-alpha.12.2",
"strapi-generate-api": "3.0.0-alpha.12.1.3" "strapi-generate-api": "3.0.0-alpha.12.2"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",
@ -50,4 +50,4 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-email", "name": "strapi-plugin-email",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "This is the description of the plugin.", "description": "This is the description of the plugin.",
"strapi": { "strapi": {
"name": "Email", "name": "Email",
@ -24,7 +24,7 @@
"sendmail": "^1.2.0" "sendmail": "^1.2.0"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-graphql", "name": "strapi-plugin-graphql",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "This is the description of the plugin.", "description": "This is the description of the plugin.",
"strapi": { "strapi": {
"name": "graphql", "name": "graphql",
@ -28,7 +28,7 @@
"graphql-tools": "^2.23.1", "graphql-tools": "^2.23.1",
"graphql-type-json": "^0.2.0", "graphql-type-json": "^0.2.0",
"pluralize": "^7.0.0", "pluralize": "^7.0.0",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "A Strapi developer", "name": "A Strapi developer",

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-settings-manager", "name": "strapi-plugin-settings-manager",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Strapi plugin to manage settings.", "description": "Strapi plugin to manage settings.",
"strapi": { "strapi": {
"name": "Settings Manager", "name": "Settings Manager",
@ -20,12 +20,12 @@
"lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern '/admin/build/' --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", "lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern '/admin/build/' --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "npm run lint", "test": "npm run lint",
"prepublishOnly": "npm run build" "prepublishOnly": "IS_MONOREPO=true npm run build"
}, },
"devDependencies": { "devDependencies": {
"flag-icon-css": "^2.8.0", "flag-icon-css": "^2.8.0",
"react-select": "^1.0.0-rc.5", "react-select": "^1.0.0-rc.5",
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",
@ -48,4 +48,4 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -8,7 +8,7 @@ module.exports = {
}); });
if (params.sort) { if (params.sort) {
qb.orderByRaw(params.sort); qb.orderBy(params.sort.key, params.sort.order);
} }
if (params.start) { if (params.start) {

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-upload", "name": "strapi-plugin-upload",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "This is the description of the plugin.", "description": "This is the description of the plugin.",
"strapi": { "strapi": {
"name": "Files Upload", "name": "Files Upload",
@ -19,16 +19,16 @@
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", "generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"", "test": "echo \"Error: no test specified\"",
"prepublishOnly": "npm run build" "prepublishOnly": "IS_MONOREPO=true npm run build"
}, },
"dependencies": { "dependencies": {
"react-copy-to-clipboard": "^5.0.1", "react-copy-to-clipboard": "^5.0.1",
"strapi-upload-local": "3.0.0-alpha.12.1.3", "strapi-upload-local": "3.0.0-alpha.12.2",
"stream-to-array": "^2.3.0", "stream-to-array": "^2.3.0",
"uuid": "^3.2.1" "uuid": "^3.2.1"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "A Strapi developer", "name": "A Strapi developer",
@ -47,4 +47,4 @@
"npm": ">= 3.0.0" "npm": ">= 3.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -3,7 +3,7 @@ coverage
build build
node_modules node_modules
jwt.json jwt.json
layout.json config/layout.json
actions.json actions.json
# Cruft # Cruft

View File

@ -29,7 +29,7 @@
width: 17px; width: 17px;
padding-top: 2px; padding-top: 2px;
> i { > i {
font-size: 20px; font-size: 15px;
} }
} }
> div:last-child { > div:last-child {

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-plugin-users-permissions", "name": "strapi-plugin-users-permissions",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Protect your API with a full-authentication process based on JWT", "description": "Protect your API with a full-authentication process based on JWT",
"strapi": { "strapi": {
"name": "Roles & Permissions", "name": "Roles & Permissions",
@ -19,7 +19,7 @@
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", "generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"", "test": "echo \"Error: no test specified\"",
"prepublishOnly": "npm run build" "prepublishOnly": "IS_MONOREPO=true npm run build"
}, },
"dependencies": { "dependencies": {
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
@ -31,7 +31,7 @@
"uuid": "^3.1.0" "uuid": "^3.1.0"
}, },
"devDependencies": { "devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.12.1.3" "strapi-helper-plugin": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"name": "Strapi team", "name": "Strapi team",
@ -54,4 +54,4 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
}, },
"license": "MIT" "license": "MIT"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-redis", "name": "strapi-redis",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Redis hook for the Strapi framework", "description": "Redis hook for the Strapi framework",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -18,7 +18,7 @@
"ioredis": "^3.1.2", "ioredis": "^3.1.2",
"lodash": "^4.17.4", "lodash": "^4.17.4",
"stack-trace": "0.0.10", "stack-trace": "0.0.10",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"strapi": { "strapi": {
"isHook": true "isHook": true

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-upload-aws-s3", "name": "strapi-upload-aws-s3",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "AWS S3 provider for strapi upload", "description": "AWS S3 provider for strapi upload",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-upload-cloudinary", "name": "strapi-upload-cloudinary",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Cloudinary provider for strapi upload", "description": "Cloudinary provider for strapi upload",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-upload-local", "name": "strapi-upload-local",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Local provider for strapi upload", "description": "Local provider for strapi upload",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-upload-rackspace", "name": "strapi-upload-rackspace",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Rackspace provider for strapi upload", "description": "Rackspace provider for strapi upload",
"main": "./lib", "main": "./lib",
"scripts": { "scripts": {

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi-utils", "name": "strapi-utils",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.2",
"description": "Shared utilities for the Strapi packages", "description": "Shared utilities for the Strapi packages",
"homepage": "http://strapi.io", "homepage": "http://strapi.io",
"keywords": [ "keywords": [

View File

@ -1,6 +1,6 @@
{ {
"name": "strapi", "name": "strapi",
"version": "3.0.0-alpha.12.1.3", "version": "3.0.0-alpha.12.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.", "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", "homepage": "http://strapi.io",
"keywords": [ "keywords": [
@ -55,16 +55,16 @@
"rimraf": "^2.6.2", "rimraf": "^2.6.2",
"semver": "^5.4.1", "semver": "^5.4.1",
"stack-trace": "0.0.10", "stack-trace": "0.0.10",
"strapi-generate": "3.0.0-alpha.12.1.3", "strapi-generate": "3.0.0-alpha.12.2",
"strapi-generate-admin": "3.0.0-alpha.12.1.3", "strapi-generate-admin": "3.0.0-alpha.12.2",
"strapi-generate-api": "3.0.0-alpha.12.1.3", "strapi-generate-api": "3.0.0-alpha.12.2",
"strapi-generate-controller": "3.0.0-alpha.12.1.3", "strapi-generate-controller": "3.0.0-alpha.12.2",
"strapi-generate-model": "3.0.0-alpha.12.1.3", "strapi-generate-model": "3.0.0-alpha.12.2",
"strapi-generate-new": "3.0.0-alpha.12.1.3", "strapi-generate-new": "3.0.0-alpha.12.2",
"strapi-generate-plugin": "3.0.0-alpha.12.1.3", "strapi-generate-plugin": "3.0.0-alpha.12.2",
"strapi-generate-policy": "3.0.0-alpha.12.1.3", "strapi-generate-policy": "3.0.0-alpha.12.2",
"strapi-generate-service": "3.0.0-alpha.12.1.3", "strapi-generate-service": "3.0.0-alpha.12.2",
"strapi-utils": "3.0.0-alpha.12.1.3" "strapi-utils": "3.0.0-alpha.12.2"
}, },
"author": { "author": {
"email": "hi@strapi.io", "email": "hi@strapi.io",