From 621b70c9ea21afe6effda22ee01b76f5bafb4290 Mon Sep 17 00:00:00 2001 From: Inder Date: Tue, 6 Feb 2018 16:09:00 +0100 Subject: [PATCH 01/23] Generating | Model name Names added with a space/dot different variations, etc. did not work by badly generating the model name. Reference to #328 #444 #505 --- .../services/ContentTypeBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js index a6b3bd4a21..088e5b1a3f 100755 --- a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js +++ b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js @@ -79,7 +79,7 @@ module.exports = { return new Promise((resolve, reject) => { const scope = { generatorType: 'api', - id: name, + id: name.toLowerCase(), rootPath: strapi.config.appPath, args: { api: name, From 2f8169c792e54e6f87a6ad1aab65f68c97b395fe Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Tue, 6 Feb 2018 18:09:04 +0100 Subject: [PATCH 02/23] Hide specific model fields from response --- .../strapi-plugin-users-permissions/models/User.settings.json | 3 ++- packages/strapi/lib/core/configurations.js | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-users-permissions/models/User.settings.json b/packages/strapi-plugin-users-permissions/models/User.settings.json index e64b741cbb..f1aa1b2b13 100644 --- a/packages/strapi-plugin-users-permissions/models/User.settings.json +++ b/packages/strapi-plugin-users-permissions/models/User.settings.json @@ -25,7 +25,8 @@ "password": { "type": "password", "minLength": 6, - "configurable": false + "configurable": false, + "private": true }, "resetPasswordToken": { "type": "string", diff --git a/packages/strapi/lib/core/configurations.js b/packages/strapi/lib/core/configurations.js index 97e38a3411..4d6005b159 100755 --- a/packages/strapi/lib/core/configurations.js +++ b/packages/strapi/lib/core/configurations.js @@ -244,6 +244,9 @@ module.exports.app = async function() { boom: { enabled: true }, + mask: { + enabled: true + }, // Necessary middlewares for the administration panel. cors: { enabled: true From c383397d6e044445269f7846c96875a01c406c6c Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Tue, 6 Feb 2018 18:18:35 +0100 Subject: [PATCH 03/23] Add mask middleware --- .../strapi/lib/middlewares/mask/defaults.json | 5 + packages/strapi/lib/middlewares/mask/index.js | 126 ++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 packages/strapi/lib/middlewares/mask/defaults.json create mode 100644 packages/strapi/lib/middlewares/mask/index.js diff --git a/packages/strapi/lib/middlewares/mask/defaults.json b/packages/strapi/lib/middlewares/mask/defaults.json new file mode 100644 index 0000000000..f9e6a509bc --- /dev/null +++ b/packages/strapi/lib/middlewares/mask/defaults.json @@ -0,0 +1,5 @@ +{ + "ip": { + "enabled": false + } +} diff --git a/packages/strapi/lib/middlewares/mask/index.js b/packages/strapi/lib/middlewares/mask/index.js new file mode 100644 index 0000000000..b643f5e7e7 --- /dev/null +++ b/packages/strapi/lib/middlewares/mask/index.js @@ -0,0 +1,126 @@ +'use strict'; + +/** + * Module dependencies + */ + +/** + * Mask filter middleware + */ + +const _ = require('lodash'); + +module.exports = strapi => { + return { + /** + * Initialize the hook + */ + + initialize: function (cb) { + strapi.app.use(async (ctx, next) => { + // Execute next middleware. + await next(); + + const start = Date.now(); + + // Array or plain object + if (_.isArray(ctx.body) || _.isPlainObject(ctx.body) && ctx.status === 200) { + // Array. + if (_.isArray(ctx.body)) { + ctx.body = ctx.body.map(value => { + if (_.isPlainObject(value)) { + console.log(this.mask(ctx, value)); + return this.mask(ctx, value); + } + + // Raw + return obj; + }); + } + + // Plain object. + ctx.body = this.mask(ctx, ctx.body); + } + }); + + cb(); + }, + + mask: function (ctx, value) { + const models = this.filteredModels(this.whichModels(value, ctx.request.route.plugin)); + + if (models.length === 0) { + return value; + } + + const attributesToHide = models.reduce((acc, match) => { + const attributes = match.plugin ? + strapi.plugins[match.plugin].models[match.model].attributes: + strapi.models[match.model].attributes; + + acc = acc.concat(Object.keys(attributes).filter(attr => attributes[attr].private === true)); + + return acc; + }, []); + + // Hide attribute. + return _.omit(value, attributesToHide); + }, + + whichModels: function (value, plugin) { + const keys = Object.keys(value); + let maxMatch = 0; + let matchs = []; + + + const match = (model, plugin) => { + const attributes = plugin ? + Object.keys(strapi.plugins[plugin].models[model].attributes): + Object.keys(strapi.models[model].attributes); + + const intersection = _.intersection(keys, attributes.filter(attr => ['id', '_id', '_v'].indexOf(attr) === -1 )).length; + + // Most matched model. + if (intersection > maxMatch) { + maxMatch = intersection; + matchs = [{ + plugin, + model, + intersection + }]; + } else if (intersection === maxMatch && intersection > 0) { + matchs.push({ + plugin, + model, + intersection + }); + } + }; + + // Application models. + Object.keys(strapi.models).forEach(model => match(model)); + // Plugins models. + Object.keys(strapi.plugins).forEach(plugin => { + Object.keys(strapi.plugins[plugin].models).forEach(model => match(model, plugin)); + }); + + return matchs; + }, + + filteredModels: function (matchs) { + return matchs.reduce((acc, match, index) => { + const attributes = match.plugin ? + strapi.plugins[match.plugin].models[match.model].attributes: + strapi.models[match.model].attributes; + + // Filtered model which have more than half of the attributes in common + // with the original model. + if (match.intersection >= Object.keys(attributes).length / 2) { + acc[index] = match; + } + + return acc; + }, []); + } + }; +}; From ed4dc1c7f729d25e11eb0e0c73405daad295ec8d Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Tue, 6 Feb 2018 18:19:50 +0100 Subject: [PATCH 04/23] Fix typo --- packages/strapi/lib/middlewares/mask/defaults.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi/lib/middlewares/mask/defaults.json b/packages/strapi/lib/middlewares/mask/defaults.json index f9e6a509bc..8fc1f914ab 100644 --- a/packages/strapi/lib/middlewares/mask/defaults.json +++ b/packages/strapi/lib/middlewares/mask/defaults.json @@ -1,5 +1,5 @@ { - "ip": { + "mask": { "enabled": false } } From 6adca3dd1e965f2ddfc6325901548cead97d31d7 Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Tue, 6 Feb 2018 18:23:42 +0100 Subject: [PATCH 05/23] Clean spaces and logs --- packages/strapi/lib/middlewares/mask/index.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/strapi/lib/middlewares/mask/index.js b/packages/strapi/lib/middlewares/mask/index.js index b643f5e7e7..d3240a630f 100644 --- a/packages/strapi/lib/middlewares/mask/index.js +++ b/packages/strapi/lib/middlewares/mask/index.js @@ -21,25 +21,21 @@ module.exports = strapi => { // Execute next middleware. await next(); - const start = Date.now(); - - // Array or plain object - if (_.isArray(ctx.body) || _.isPlainObject(ctx.body) && ctx.status === 200) { - // Array. + if (ctx.status === 200) { + // Array if (_.isArray(ctx.body)) { ctx.body = ctx.body.map(value => { if (_.isPlainObject(value)) { - console.log(this.mask(ctx, value)); return this.mask(ctx, value); } // Raw return obj; }); + } else if (_.isPlainObject(ctx.body)) { + // Plain object. + ctx.body = this.mask(ctx, ctx.body); } - - // Plain object. - ctx.body = this.mask(ctx, ctx.body); } }); @@ -72,7 +68,6 @@ module.exports = strapi => { let maxMatch = 0; let matchs = []; - const match = (model, plugin) => { const attributes = plugin ? Object.keys(strapi.plugins[plugin].models[model].attributes): From f8b8faefcfddbf9e42c5d20f257f28833803e5f5 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Wed, 7 Feb 2018 18:32:03 +0100 Subject: [PATCH 06/23] Use the new input library in content type builder --- .../components/InputNumberWithErrors/index.js | 5 +- .../components/InputSelectWithErrors/index.js | 7 +- .../InputCheckboxWithNestedInputs/index.js | 4 +- .../admin/src/components/PopUpForm/index.js | 46 ++- .../src/components/PopUpRelations/index.js | 2 +- .../admin/src/components/RelationBox/index.js | 2 +- .../admin/src/containers/Form/forms.json | 319 +++++++++++++----- .../admin/src/translations/en.json | 2 +- .../admin/src/translations/fr.json | 2 +- 9 files changed, 296 insertions(+), 93 deletions(-) diff --git a/packages/strapi-helper-plugin/lib/src/components/InputNumberWithErrors/index.js b/packages/strapi-helper-plugin/lib/src/components/InputNumberWithErrors/index.js index 021b35f866..9c4007f2a2 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputNumberWithErrors/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputNumberWithErrors/index.js @@ -208,7 +208,10 @@ InputNumberWithErrors.propTypes = { style: PropTypes.object, tabIndex: PropTypes.string, validations: PropTypes.object, - value: PropTypes.string.isRequired, + value: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, + ]), }; export default InputNumberWithErrors; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputSelectWithErrors/index.js b/packages/strapi-helper-plugin/lib/src/components/InputSelectWithErrors/index.js index 32a8948157..d6c142cd1b 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputSelectWithErrors/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputSelectWithErrors/index.js @@ -86,7 +86,7 @@ class InputSelectWithErrors extends React.Component { disabled={disabled} error={!isEmpty(this.state.errors)} name={name} - onBlur={onBlur} + onBlur={isFunction(onBlur) ? onBlur : () => {}} onChange={onChange} onFocus={onFocus} selectOptions={selectOptions} @@ -167,7 +167,10 @@ InputSelectWithErrors.propTypes = { labelClassName: PropTypes.string, labelStyle: PropTypes.object, name: PropTypes.string.isRequired, - onBlur: PropTypes.func, + onBlur: PropTypes.oneOfType([ + PropTypes.bool, + PropTypes.func, + ]), onChange: PropTypes.func.isRequired, onFocus: PropTypes.func, selectOptions: PropTypes.arrayOf( diff --git a/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js b/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js index 127a8ad945..208963a66e 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js @@ -8,7 +8,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { isEmpty, map, findIndex } from 'lodash'; import { FormattedMessage } from 'react-intl'; -import Input from 'components/Input'; +import Input from 'components/InputsIndex'; import styles from './styles.scss'; class InputCheckboxWithNestedInputs extends React.Component { // eslint-disable-line react/prefer-stateless-function @@ -69,7 +69,7 @@ class InputCheckboxWithNestedInputs extends React.Component { // eslint-disable-
{title} - + {(message) => (
@@ -84,7 +84,7 @@ function LeftMenuLinkContainer({ plugins }) { destination="/list-plugins" /> diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json index d6294705e1..76ad1bfcf4 100644 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/messages.json @@ -1,15 +1,15 @@ { "listPlugins": { "id": "app.components.LeftMenuLinkContainer.listPlugins", - "defaultMessage": "List plugins" + "defaultMessage": "Plugins" }, "installNewPlugin": { "id": "app.components.LeftMenuLinkContainer.installNewPlugin", - "defaultMessage": "Install new plugin" + "defaultMessage": "Marketplace" }, "configuration": { "id": "app.components.LeftMenuLinkContainer.configuration", - "defaultMessage": "Configuration" + "defaultMessage": "Configurations" }, "plugins": { "id": "app.components.LeftMenuLinkContainer.plugins", diff --git a/packages/strapi-admin/admin/src/translations/en.json b/packages/strapi-admin/admin/src/translations/en.json index 0066975dd8..d5ffee6d26 100755 --- a/packages/strapi-admin/admin/src/translations/en.json +++ b/packages/strapi-admin/admin/src/translations/en.json @@ -11,8 +11,8 @@ "app.components.HomePage.button": "Create your first content type", "app.components.HomePage.feedback": "Feel free to ask questions or give us feedback by using one of the support channels below.", - "app.components.InstallPluginPage.helmet": "Install plugins", - "app.components.InstallPluginPage.title": "Install new plugins", + "app.components.InstallPluginPage.helmet": "Marketplace - Plugins", + "app.components.InstallPluginPage.title": "Marketplace - Plugins", "app.components.InstallPluginPage.description": "Extend your app with no efforts", "app.components.InstallPluginPage.plugin.support-us.description": "Support us by buying the Strapi t-shirt. It will allow us to keep working on the project and try giving the best possible experience!", "app.components.InstallPluginPage.InputSearch.label": " ", @@ -26,10 +26,10 @@ "app.components.InstallPluginPopup.noDescription": "No description available", "app.components.LeftMenuFooter.poweredBy": "Proudly powered by", - "app.components.LeftMenuLinkContainer.configuration": "Configuration", + "app.components.LeftMenuLinkContainer.configuration": "Configurations", "app.components.LeftMenuLinkContainer.general": "General", - "app.components.LeftMenuLinkContainer.installNewPlugin": "Install new plugin", - "app.components.LeftMenuLinkContainer.listPlugins": "List plugins", + "app.components.LeftMenuLinkContainer.installNewPlugin": "Marketplace", + "app.components.LeftMenuLinkContainer.listPlugins": "Plugins", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "No plugins installed yet", "app.components.LeftMenuLinkContainer.plugins": "Plugins", diff --git a/packages/strapi-admin/admin/src/translations/fr.json b/packages/strapi-admin/admin/src/translations/fr.json index 6a876aa37f..242c63d11d 100755 --- a/packages/strapi-admin/admin/src/translations/fr.json +++ b/packages/strapi-admin/admin/src/translations/fr.json @@ -11,8 +11,8 @@ "app.components.HomePage.button": "Créez votre premier type de contenu", "app.components.HomePage.feedback": "N'hésitez pas à utiliser un des channels ci-dessous pour poser vos questions ou nous donner vos retours.", - "app.components.InstallPluginPage.helmet": "Installez des plugins", - "app.components.InstallPluginPage.title": "Installez des nouveaux plugins", + "app.components.InstallPluginPage.helmet": "Marketplace - Plugins", + "app.components.InstallPluginPage.title": "Marketplace - Plugins", "app.components.InstallPluginPage.description": "Améliorez votre app sans efforts", "app.components.InstallPluginPage.plugin.support-us.description": "Soutenez-nous en achetant un Strapi tee shirt. Cela nous aidera a continuer de travailler sur le projet pour vous donner la meilleure expérience possible!", "app.components.InstallPluginPage.InputSearch.label": " ", @@ -26,10 +26,10 @@ "app.components.InstallPluginPopup.noDescription": "Aucune description disponible", "app.components.LeftMenuFooter.poweredBy": "Propulsé par", - "app.components.LeftMenuLinkContainer.configuration": "Configuration", + "app.components.LeftMenuLinkContainer.configuration": "Configurations", "app.components.LeftMenuLinkContainer.general": "Général", - "app.components.LeftMenuLinkContainer.installNewPlugin": "Installer un nouveau plugin", - "app.components.LeftMenuLinkContainer.listPlugins": "Liste des plugins", + "app.components.LeftMenuLinkContainer.installNewPlugin": "Marketplaces", + "app.components.LeftMenuLinkContainer.listPlugins": "Plugins", "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Aucun plugin installé", "app.components.LeftMenuLinkContainer.plugins": "Plugins", diff --git a/packages/strapi-plugin-users-permissions/admin/src/translations/en.json b/packages/strapi-plugin-users-permissions/admin/src/translations/en.json index 26fd5b45e1..d5bb0b1e6a 100755 --- a/packages/strapi-plugin-users-permissions/admin/src/translations/en.json +++ b/packages/strapi-plugin-users-permissions/admin/src/translations/en.json @@ -86,7 +86,7 @@ "HeaderNav.link.providers": "Providers", "HeaderNav.link.roles": "Roles", - "HomePage.header.title": "Auth & Permissions", + "HomePage.header.title": "Users & Permissions", "HomePage.header.description": "Define the roles and permissions for every one of them", "InputSearch.placeholder": "Search for a user", diff --git a/packages/strapi-plugin-users-permissions/admin/src/translations/fr.json b/packages/strapi-plugin-users-permissions/admin/src/translations/fr.json index 26eb1e462b..4b0e6dc05b 100755 --- a/packages/strapi-plugin-users-permissions/admin/src/translations/fr.json +++ b/packages/strapi-plugin-users-permissions/admin/src/translations/fr.json @@ -86,7 +86,7 @@ "HeaderNav.link.providers": "Fournisseurs", "HeaderNav.link.roles": "Rôles", - "HomePage.header.title": "Auth & Permissions", + "HomePage.header.title": "Utilisateurs & Permissions", "HomePage.header.description": "Définissez les rôles et permissions pour chacun d'eux", "InputSearch.placeholder": "Recherez un utilisateur", diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index c9235d8cfa..deb7bf5606 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -3,7 +3,7 @@ "version": "3.0.0-alpha.9.3", "description": "Protect your API with a full-authentication process based on JWT", "strapi": { - "name": "Auth & Permissions", + "name": "Users & Permissions", "icon": "users", "description": "users-permissions.plugin.description" }, @@ -55,4 +55,4 @@ "npm": ">= 3.0.0" }, "license": "MIT" -} \ No newline at end of file +} From 7c2317cba2404b64d79749458d90616f5560916e Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Fri, 9 Feb 2018 17:17:48 +0100 Subject: [PATCH 22/23] Update plugins list icon --- .../admin/src/components/LeftMenuLinkContainer/index.js | 2 +- packages/strapi-plugin-users-permissions/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js index 6499d50428..0070b068bd 100755 --- a/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuLinkContainer/index.js @@ -79,7 +79,7 @@ function LeftMenuLinkContainer({ plugins }) {

    diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index deb7bf5606..b90947d003 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -55,4 +55,4 @@ "npm": ">= 3.0.0" }, "license": "MIT" -} +} \ No newline at end of file From 21893dc8e655751059d6cae9737c6364ae1e7208 Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Fri, 9 Feb 2018 17:22:18 +0100 Subject: [PATCH 23/23] Optimize SVG icons --- .../admin/src/assets/images/logo.svg | 27 +--------------- .../admin/src/assets/images/logo.svg | 27 +--------------- .../admin/src/assets/images/logo.svg | 27 +--------------- .../admin/src/assets/images/logo.svg | 32 +------------------ .../admin/src/assets/images/icon.svg | 26 --------------- .../admin/src/assets/images/logo.svg | 1 + 6 files changed, 5 insertions(+), 135 deletions(-) delete mode 100644 packages/strapi-plugin-users-permissions/admin/src/assets/images/icon.svg create mode 100644 packages/strapi-plugin-users-permissions/admin/src/assets/images/logo.svg diff --git a/packages/strapi-plugin-content-manager/admin/src/assets/images/logo.svg b/packages/strapi-plugin-content-manager/admin/src/assets/images/logo.svg index 0ee43314f7..e38533fcb0 100644 --- a/packages/strapi-plugin-content-manager/admin/src/assets/images/logo.svg +++ b/packages/strapi-plugin-content-manager/admin/src/assets/images/logo.svg @@ -1,26 +1 @@ - - - - 📖 - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file +📖 \ No newline at end of file diff --git a/packages/strapi-plugin-content-type-builder/admin/src/assets/images/logo.svg b/packages/strapi-plugin-content-type-builder/admin/src/assets/images/logo.svg index 2410cb54bc..a13aa373e0 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/assets/images/logo.svg +++ b/packages/strapi-plugin-content-type-builder/admin/src/assets/images/logo.svg @@ -1,26 +1 @@ - - - - 🏭 - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file +🏭 \ No newline at end of file diff --git a/packages/strapi-plugin-email/admin/src/assets/images/logo.svg b/packages/strapi-plugin-email/admin/src/assets/images/logo.svg index 1685f18c94..80a84783fb 100644 --- a/packages/strapi-plugin-email/admin/src/assets/images/logo.svg +++ b/packages/strapi-plugin-email/admin/src/assets/images/logo.svg @@ -1,26 +1 @@ - - - - ✉️ - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file +✉️ \ No newline at end of file diff --git a/packages/strapi-plugin-settings-manager/admin/src/assets/images/logo.svg b/packages/strapi-plugin-settings-manager/admin/src/assets/images/logo.svg index b6f15bc75c..51c967c80d 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/assets/images/logo.svg +++ b/packages/strapi-plugin-settings-manager/admin/src/assets/images/logo.svg @@ -1,31 +1 @@ - - - - Group - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file +⚙️⚙️ \ No newline at end of file diff --git a/packages/strapi-plugin-users-permissions/admin/src/assets/images/icon.svg b/packages/strapi-plugin-users-permissions/admin/src/assets/images/icon.svg deleted file mode 100644 index e32fa53385..0000000000 --- a/packages/strapi-plugin-users-permissions/admin/src/assets/images/icon.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - 🔐 - Created with Sketch. - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/strapi-plugin-users-permissions/admin/src/assets/images/logo.svg b/packages/strapi-plugin-users-permissions/admin/src/assets/images/logo.svg new file mode 100644 index 0000000000..9edb7238ca --- /dev/null +++ b/packages/strapi-plugin-users-permissions/admin/src/assets/images/logo.svg @@ -0,0 +1 @@ +🔐 \ No newline at end of file