diff --git a/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js b/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js index 7973f87d61..6e7ecf6961 100755 --- a/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js +++ b/packages/strapi-admin/admin/src/components/LeftMenuFooter/index.js @@ -17,8 +17,10 @@ defineMessages(messages); function LeftMenuFooter({ version }) { // eslint-disable-line react/prefer-stateless-function return (
- - v{version} +
+ + v{version} +
); diff --git a/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss b/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss index 5f77a12720..f885e4e5a7 100755 --- a/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss +++ b/packages/strapi-admin/admin/src/components/LeftMenuFooter/styles.scss @@ -3,7 +3,9 @@ .leftMenuFooter { /* stylelint-disable */ position: absolute; - width: 100%; + width: calc(100% - 2 * 15px); + display: flex; + justify-content: space-between; bottom: 0; height: 3rem; padding-left: 15px; diff --git a/packages/strapi-generate-new/files/config/environments/production/database.json b/packages/strapi-generate-new/files/config/environments/production/database.json index bd92020942..287a8121e0 100755 --- a/packages/strapi-generate-new/files/config/environments/production/database.json +++ b/packages/strapi-generate-new/files/config/environments/production/database.json @@ -10,11 +10,12 @@ "port": "${process.env.DATABASE_PORT || 27017}", "database": "${process.env.DATABASE_NAME || 'strapi-production'}", "username": "${process.env.DATABASE_USERNAME || ''}", - "password": "${process.env.DATABASE_PASSWORD || ''}", + "password": "${process.env.DATABASE_PASSWORD || ''}" + }, + "options": { "ssl": "${process.env.DATABASE_SSL || false}", "authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}" - }, - "options": {} + } } } } diff --git a/packages/strapi-generate-new/files/config/environments/staging/database.json b/packages/strapi-generate-new/files/config/environments/staging/database.json index f0dff39eaf..ec7c26da4c 100755 --- a/packages/strapi-generate-new/files/config/environments/staging/database.json +++ b/packages/strapi-generate-new/files/config/environments/staging/database.json @@ -10,11 +10,12 @@ "port": "${process.env.DATABASE_PORT || 27017}", "database": "${process.env.DATABASE_NAME || 'strapi-staging'}", "username": "${process.env.DATABASE_USERNAME || ''}", - "password": "${process.env.DATABASE_PASSWORD || ''}", + "password": "${process.env.DATABASE_PASSWORD || ''}" + }, + "options": { "ssl": "${process.env.DATABASE_SSL || false}", "authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}" - }, - "options": {} + } } } } diff --git a/packages/strapi-generate-new/lib/before.js b/packages/strapi-generate-new/lib/before.js index 7095f541bb..206e05eda2 100755 --- a/packages/strapi-generate-new/lib/before.js +++ b/packages/strapi-generate-new/lib/before.js @@ -212,7 +212,6 @@ module.exports = (scope, cb) => { } ]) .then(answers => { - if (hasDatabaseConfig) { answers = _.omit(scope.database.settings, ['client']) } @@ -222,8 +221,8 @@ module.exports = (scope, cb) => { scope.database.settings.database = answers.database; scope.database.settings.username = answers.username; scope.database.settings.password = answers.password; - scope.database.settings.authenticationDatabase = answers.authenticationDatabase; - scope.database.settings.ssl = answers.ssl; + scope.database.options.authenticationDatabase = answers.authenticationDatabase; + scope.database.options.ssl = _.toString(answers.ssl) === 'true'; logger.info('Testing database connection...'); diff --git a/packages/strapi-mongoose/lib/index.js b/packages/strapi-mongoose/lib/index.js index 7dc2148af8..4574f4a2da 100755 --- a/packages/strapi-mongoose/lib/index.js +++ b/packages/strapi-mongoose/lib/index.js @@ -43,19 +43,24 @@ module.exports = function (strapi) { initialize: cb => { _.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-mongoose'}), (connection, connectionName) => { const instance = new Mongoose(); - const { uri, host, port, username, password, database, authenticationDatabase, ssl } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose); + const { uri, host, port, username, password, database } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose); + const { authenticationDatabase, ssl } = _.defaults(connection.options, strapi.config.hook.settings.mongoose); // Connect to mongo database const connectOptions = {} + if (!_.isEmpty(username)) { - connectOptions.user = username + connectOptions.user = username; + if (!_.isEmpty(password)) { - connectOptions.pass = password + connectOptions.pass = password; } } + if (!_.isEmpty(authenticationDatabase)) { connectOptions.authSource = authenticationDatabase; } + connectOptions.ssl = ssl === true || ssl === 'true'; instance.connect(uri || `mongodb://${host}:${port}/${database}`, connectOptions); diff --git a/packages/strapi-mongoose/lib/utils/connectivity.js b/packages/strapi-mongoose/lib/utils/connectivity.js index 76fe1c9261..ac1a7bb5a1 100644 --- a/packages/strapi-mongoose/lib/utils/connectivity.js +++ b/packages/strapi-mongoose/lib/utils/connectivity.js @@ -10,18 +10,27 @@ const logger = require('strapi-utils').logger; module.exports = (scope, success, error) => { const Mongoose = require(path.resolve(`${scope.tmpPath}/node_modules/mongoose`)); - const { username, password, authenticationDatabase, ssl } = scope.database.settings - const connectOptions = {} + const { username, password } = scope.database.settings; + const { authenticationDatabase, ssl } = scope.database.options; + + const connectOptions = {}; + if (username) { - connectOptions.user = username + connectOptions.user = username; + if (password) { - connectOptions.pass = password + connectOptions.pass = password; } } + if (authenticationDatabase) { connectOptions.authSource = authenticationDatabase; } - connectOptions.ssl = ssl ? true : false + + connectOptions.ssl = ssl ? true : false; + + console.log(connectOptions); + Mongoose.connect(`mongodb://${scope.database.settings.host}:${scope.database.settings.port}/${scope.database.settings.database}`, connectOptions, function (err) { if (err) { logger.warn('Database connection has failed! Make sure your database is running.'); diff --git a/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js b/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js index 21af480463..3a8b30cf08 100755 --- a/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js +++ b/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js @@ -115,13 +115,13 @@ module.exports = { try { const modelJSON = _.cloneDeep(require(modelFilePath)); - modelJSON.attributes = formatedAttributes; + modelJSON.connection = connection; + modelJSON.collectionName = collectionName; modelJSON.info = { name, description }; - modelJSON.connection = connection; - modelJSON.collectionName = collectionName; + modelJSON.attributes = formatedAttributes; const clearRelationsErrors = Service.clearRelations(model, plugin); diff --git a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js index 6c15669096..848f71f910 100755 --- a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js +++ b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js @@ -181,7 +181,7 @@ module.exports = { _.forEach(attributesConfigurable, attribute => { if (_.has(attribute, 'params.type')) { - attrs[attribute.name] = attribute.params; + attrs[attribute.name] = _.omit(attribute.params, 'multiple'); if (attribute.params.type === 'media') { const via = _.findKey(strapi.plugins.upload.models.file.attributes, {collection: '*'});