From 79341fb8e5948eeecd0aec11457062a2a336d82d Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Wed, 7 Mar 2018 13:12:25 +0100 Subject: [PATCH 1/4] Fix logger colors --- packages/strapi-utils/lib/logger.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-utils/lib/logger.js b/packages/strapi-utils/lib/logger.js index dbbb521148..2c2375c4a6 100644 --- a/packages/strapi-utils/lib/logger.js +++ b/packages/strapi-utils/lib/logger.js @@ -34,7 +34,7 @@ const loggerConfig = { const pretty = pino.pretty({ formatter: (logs, options) => { - return `\u001b[90m[${new Date().toISOString()}] ${options.prefix.toLowerCase()} ${options.asColoredText(logs.level, logs.msg)}`; + return `${options.asColoredText({ level: 10 }, `[${new Date().toISOString()}]`)} ${options.prefix.toLowerCase()} ${logs.msg}`; } }); From 1c581acb0e8077f856e1dd2ac411e575ad79e442 Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Wed, 7 Mar 2018 13:44:58 +0100 Subject: [PATCH 2/4] Fix upload settings by env Co-authored-by: soupette --- .../admin/src/containers/AdminPage/selectors.js | 10 ++++++++++ .../admin/src/containers/ListPluginsPage/index.js | 13 +++++++++++++ 2 files changed, 23 insertions(+) diff --git a/packages/strapi-admin/admin/src/containers/AdminPage/selectors.js b/packages/strapi-admin/admin/src/containers/AdminPage/selectors.js index 19e863a995..d201623ac9 100644 --- a/packages/strapi-admin/admin/src/containers/AdminPage/selectors.js +++ b/packages/strapi-admin/admin/src/containers/AdminPage/selectors.js @@ -19,4 +19,14 @@ const selectAdminPage = () => createSelector( (substate) => substate.toJS(), ); +const makeSelectEnv = () => createSelector( + selectAdminPageDomain(), + (substate) => substate.get('appEnvironments').toJS(), +); + +export { + selectAdminPage, + makeSelectEnv, +}; + export default selectAdminPage; diff --git a/packages/strapi-admin/admin/src/containers/ListPluginsPage/index.js b/packages/strapi-admin/admin/src/containers/ListPluginsPage/index.js index 42fafd4cc6..9262fcecfd 100644 --- a/packages/strapi-admin/admin/src/containers/ListPluginsPage/index.js +++ b/packages/strapi-admin/admin/src/containers/ListPluginsPage/index.js @@ -16,6 +16,7 @@ import cn from 'classnames'; import PluginHeader from 'components/PluginHeader'; import ListPlugins from 'components/ListPlugins'; +import { makeSelectEnv } from 'containers/AdminPage/selectors'; import injectSaga from 'utils/injectSaga'; import injectReducer from 'utils/injectReducer'; import { makeSelectPluginDeleteAction, makeSelectPlugins } from './selectors'; @@ -25,6 +26,12 @@ import saga from './saga'; import styles from './styles.scss'; export class ListPluginsPage extends React.Component { // eslint-disable-line react/prefer-stateless-function + getChildContext = () => { + return { + appEnvironments: this.props.appEnvironments, + }; + } + componentDidMount() { this.props.getPlugins(); } @@ -65,7 +72,12 @@ export class ListPluginsPage extends React.Component { // eslint-disable-line re ListPluginsPage.contextTypes = {}; +ListPluginsPage.childContextTypes = { + appEnvironments: PropTypes.array.isRequired, +}; + ListPluginsPage.propTypes = { + appEnvironments: PropTypes.array.isRequired, getPlugins: PropTypes.func.isRequired, history: PropTypes.object.isRequired, onDeletePluginClick: PropTypes.func.isRequired, @@ -75,6 +87,7 @@ ListPluginsPage.propTypes = { }; const mapStateToProps = createStructuredSelector({ + appEnvironments: makeSelectEnv(), pluginActionSucceeded: makeSelectPluginDeleteAction(), plugins: makeSelectPlugins(), }); From ed63df0ae69d5e98add6db4a50b37679a96754a3 Mon Sep 17 00:00:00 2001 From: Jim Laurie Date: Wed, 7 Mar 2018 14:18:15 +0100 Subject: [PATCH 3/4] Fix delete file on aws s3 --- .../strapi-plugin-upload/config/functions/bootstrap.js | 1 + packages/strapi-plugin-upload/models/File.settings.json | 5 +++++ packages/strapi-plugin-upload/services/Upload.js | 8 ++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/strapi-plugin-upload/config/functions/bootstrap.js b/packages/strapi-plugin-upload/config/functions/bootstrap.js index e7166e0d5d..60d548ea79 100644 --- a/packages/strapi-plugin-upload/config/functions/bootstrap.js +++ b/packages/strapi-plugin-upload/config/functions/bootstrap.js @@ -33,6 +33,7 @@ module.exports = async cb => { mime text, size text, url text, + provider text, updated_at ${Model.client === 'pg' ? 'timestamp with time zone' : 'timestamp'}, created_at ${Model.client === 'pg' ? 'timestamp with time zone' : 'timestamp'} ); diff --git a/packages/strapi-plugin-upload/models/File.settings.json b/packages/strapi-plugin-upload/models/File.settings.json index 520f5ee8c6..33cce1ca31 100644 --- a/packages/strapi-plugin-upload/models/File.settings.json +++ b/packages/strapi-plugin-upload/models/File.settings.json @@ -37,6 +37,11 @@ "configurable": false, "required": true }, + "provider": { + "type": "string", + "configurable": false, + "required": true + }, "related": { "collection": "*", "filter": "field", diff --git a/packages/strapi-plugin-upload/services/Upload.js b/packages/strapi-plugin-upload/services/Upload.js index 13bee46f97..ead62d4348 100644 --- a/packages/strapi-plugin-upload/services/Upload.js +++ b/packages/strapi-plugin-upload/services/Upload.js @@ -59,6 +59,8 @@ module.exports = { // Remove buffer to don't save it. delete file.buffer; + file.provider = provider.provider; + return await strapi.plugins['upload'].services.upload.add(file); }) ); @@ -105,10 +107,12 @@ module.exports = { // get upload provider settings to configure the provider to use const provider = _.cloneDeep(_.find(strapi.plugins.upload.config.providers, {provider: config.provider})); _.assign(provider, config); - const actions = provider.init(strapi, config); + const actions = provider.init(config); // execute delete function of the provider - await actions.delete(file); + if (file.provider === provider.provider) { + await actions.delete(file); + } // Use Content Manager business logic to handle relation. if (strapi.plugins['content-manager']) { From ea2a9237beaef7f8c567b8d0567d18f0b66c512e Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Wed, 7 Mar 2018 15:13:54 +0100 Subject: [PATCH 4/4] Created EditPage container --- .../admin/src/components/PluginInputFile/index.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/strapi-plugin-upload/admin/src/components/PluginInputFile/index.js b/packages/strapi-plugin-upload/admin/src/components/PluginInputFile/index.js index 07bd7f0b0f..125e31fa10 100644 --- a/packages/strapi-plugin-upload/admin/src/components/PluginInputFile/index.js +++ b/packages/strapi-plugin-upload/admin/src/components/PluginInputFile/index.js @@ -17,6 +17,11 @@ import styles from './styles.scss'; class PluginInputFile extends React.PureComponent { state = { isDraging: false }; + handleChange = (e) => { + const dataTransfer = e.target; + this.props.onDrop({ dataTransfer }); + } + handleDragEnter = () => this.setState({ isDraging: true }); handleDragLeave = () => this.setState({ isDraging: false }); @@ -30,7 +35,6 @@ class PluginInputFile extends React.PureComponent { render() { const { name, - onChange, showLoader, } = this.props; const { isDraging } = this.state; @@ -62,7 +66,7 @@ class PluginInputFile extends React.PureComponent { @@ -70,13 +74,10 @@ class PluginInputFile extends React.PureComponent { } } -PluginInputFile.defaultProps = { - onChange: () => {}, -}; +PluginInputFile.defaultProps = {}; PluginInputFile.propTypes = { name: PropTypes.string.isRequired, - onChange: PropTypes.func, onDrop: PropTypes.func.isRequired, showLoader: PropTypes.bool.isRequired, };