From 40faec28453e0542629d78573ab0184e6e893748 Mon Sep 17 00:00:00 2001 From: Liroo Date: Tue, 8 Jan 2019 14:52:17 +0100 Subject: [PATCH 01/18] "strapi new" mongo +srv prefix uri in command line args --- .../files/config/environments/production/database.json | 1 + .../files/config/environments/staging/database.json | 1 + packages/strapi/bin/strapi-new.js | 1 + packages/strapi/bin/strapi.js | 1 + 4 files changed, 4 insertions(+) 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 3075fabf91..10581fc5bb 100644 --- a/packages/strapi-generate-new/files/config/environments/production/database.json +++ b/packages/strapi-generate-new/files/config/environments/production/database.json @@ -7,6 +7,7 @@ "client": "mongo", "uri": "${process.env.DATABASE_URI || ''}", "host": "${process.env.DATABASE_HOST || '127.0.0.1'}", + "srv": "${process.env.DATABASE_SRV || false}", "port": "${process.env.DATABASE_PORT || 27017}", "database": "${process.env.DATABASE_NAME || 'strapi-production'}", "username": "${process.env.DATABASE_USERNAME || ''}", 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 43edf2421d..451aaa9684 100644 --- a/packages/strapi-generate-new/files/config/environments/staging/database.json +++ b/packages/strapi-generate-new/files/config/environments/staging/database.json @@ -7,6 +7,7 @@ "client": "mongo", "uri": "${process.env.DATABASE_URI || ''}", "host": "${process.env.DATABASE_HOST || '127.0.0.1'}", + "srv": "${process.env.DATABASE_SRV || false}", "port": "${process.env.DATABASE_PORT || 27017}", "database": "${process.env.DATABASE_NAME || 'strapi-staging'}", "username": "${process.env.DATABASE_USERNAME || ''}", diff --git a/packages/strapi/bin/strapi-new.js b/packages/strapi/bin/strapi-new.js index 707a7bbe35..87a11ce1b4 100644 --- a/packages/strapi/bin/strapi-new.js +++ b/packages/strapi/bin/strapi-new.js @@ -61,6 +61,7 @@ module.exports = function (name, cliArguments) { settings: { client: cliArguments.dbclient, host: cliArguments.dbhost, + srv: cliArguments.dbsrv, port: cliArguments.dbport, database: cliArguments.dbname, username: cliArguments.dbusername, diff --git a/packages/strapi/bin/strapi.js b/packages/strapi/bin/strapi.js index 4aa5d87cdd..03dad62503 100755 --- a/packages/strapi/bin/strapi.js +++ b/packages/strapi/bin/strapi.js @@ -56,6 +56,7 @@ program .option('--debug', 'Display database connection error') .option('--dbclient ', 'Database client') .option('--dbhost ', 'Database host') + .option('--dbsrv ', 'Database srv') .option('--dbport ', 'Database port') .option('--dbname ', 'Database name') .option('--dbusername ', 'Database username') From b2a59ba4a40149c9e0adb8d3e4b5f307826cfd46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Tue, 22 Jan 2019 16:47:17 +0100 Subject: [PATCH 02/18] Fix X-Powered-By header setup and panel support for it --- docs/3.x.x/configurations/configurations.md | 3 +++ .../files/config/environments/development/response.json | 4 ++++ .../files/config/environments/production/response.json | 3 +++ .../files/config/environments/staging/response.json | 3 +++ .../admin/src/components/WithFormSection/config.json | 2 +- .../admin/src/translations/ar.json | 1 + .../admin/src/translations/de.json | 1 + .../admin/src/translations/en.json | 1 + .../admin/src/translations/es.json | 1 + .../admin/src/translations/fr.json | 1 + .../admin/src/translations/it.json | 1 + .../admin/src/translations/ja.json | 1 + .../admin/src/translations/ko.json | 1 + .../admin/src/translations/nl.json | 1 + .../admin/src/translations/pl.json | 1 + .../admin/src/translations/pt-BR.json | 1 + .../admin/src/translations/pt.json | 1 + .../admin/src/translations/ru.json | 1 + .../admin/src/translations/tr.json | 1 + .../admin/src/translations/zh-Hans.json | 1 + .../admin/src/translations/zh.json | 1 + .../services/SettingsManager.js | 9 +++++++++ packages/strapi/lib/middlewares/responses/index.js | 4 ++-- 23 files changed, 41 insertions(+), 3 deletions(-) diff --git a/docs/3.x.x/configurations/configurations.md b/docs/3.x.x/configurations/configurations.md index f8d698023d..be1abfb2a6 100644 --- a/docs/3.x.x/configurations/configurations.md +++ b/docs/3.x.x/configurations/configurations.md @@ -339,6 +339,9 @@ The session doesn't work with `mongo` as a client. The package that we should us - `enabled` (boolean): Enable or not GZIP response compression. - `responseTime` - `enabled` (boolean): Enable or not `X-Response-Time header` to response. Default value: `false`. + - `poweredBy` + - `enabled` (boolean): Enable or not `X-Powered-By` header to response. Default value: depends on the environment. + - `value` (string): The value of the header. Default value: `Strapi ` *** diff --git a/packages/strapi-generate-new/files/config/environments/development/response.json b/packages/strapi-generate-new/files/config/environments/development/response.json index 0f3acf8fcd..d6898c30bb 100644 --- a/packages/strapi-generate-new/files/config/environments/development/response.json +++ b/packages/strapi-generate-new/files/config/environments/development/response.json @@ -4,5 +4,9 @@ }, "responseTime": { "enabled": false + }, + "poweredBy": { + "enabled": true, + "value": "Strapi " } } diff --git a/packages/strapi-generate-new/files/config/environments/production/response.json b/packages/strapi-generate-new/files/config/environments/production/response.json index 90f971d013..7e5540cd05 100644 --- a/packages/strapi-generate-new/files/config/environments/production/response.json +++ b/packages/strapi-generate-new/files/config/environments/production/response.json @@ -4,5 +4,8 @@ }, "responseTime": { "enabled": false + }, + "poweredBy": { + "enabled": false } } diff --git a/packages/strapi-generate-new/files/config/environments/staging/response.json b/packages/strapi-generate-new/files/config/environments/staging/response.json index 90f971d013..7e5540cd05 100644 --- a/packages/strapi-generate-new/files/config/environments/staging/response.json +++ b/packages/strapi-generate-new/files/config/environments/staging/response.json @@ -4,5 +4,8 @@ }, "responseTime": { "enabled": false + }, + "poweredBy": { + "enabled": false } } diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/config.json b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/config.json index ac7dd034d6..092e040d24 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/config.json +++ b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/config.json @@ -4,5 +4,5 @@ "databases.connections.${name}.settings.host": "col-md-12", "database.connections.settings.host": "col-md-12", "database.connections.settings.port": "col-md-6", - "showInputLabel": ["form.response.item.gzip.enabled", "form.response.item.responseTime.enabled"] + "showInputLabel": ["form.response.item.gzip.enabled", "form.response.item.responseTime.enabled", "form.response.item.poweredBy.enabled"] } diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json index 26fd67ad0c..a84d17c210 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json @@ -48,6 +48,7 @@ "form.response.description": "قم بتكوين إعدادات الاستجابة الخاصة بك.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "وقت الاستجابة", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "الإستجابة", "form.security.description": "تكوين إعدادات الأمان الخاصة بك.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/de.json b/packages/strapi-plugin-settings-manager/admin/src/translations/de.json index 07203c3e1f..f20ef9e05c 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/de.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/de.json @@ -48,6 +48,7 @@ "form.response.description": "Verwalte deine Antworteinstellungen.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Antwortzeit", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Antwort", "form.security.description": "Verwalte deine Sicherheitseinstellungen.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json index ff75bd219b..447c23b2e1 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json @@ -48,6 +48,7 @@ "form.response.description": "Configure your response settings.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Response", "form.security.description": "Configure your security settings.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/es.json b/packages/strapi-plugin-settings-manager/admin/src/translations/es.json index c6f686b836..601e25b085 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/es.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/es.json @@ -48,6 +48,7 @@ "form.response.description": "Configurar las opciones de respuesta.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tiempo de respuesta", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Respuesta", "form.security.description": "Configurar las opciones de seguridad.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json index 80c43b8d4f..26635443be 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json @@ -48,6 +48,7 @@ "form.response.description": "Configuration des réponses.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Temps de réponse", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Réponse", "form.security.description": "Configurations de sécurité.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/it.json b/packages/strapi-plugin-settings-manager/admin/src/translations/it.json index 4f83a6e893..ad1c9d7004 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/it.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/it.json @@ -48,6 +48,7 @@ "form.response.description": "Configurare la tua risposta impostazioni.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Il Tempo Di Risposta", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Risposta", "form.security.description": "Configurare le impostazioni di sicurezza.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json index 4982111786..ebd16d1db5 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json @@ -48,6 +48,7 @@ "form.response.description": "レスポンス設定を構成します。", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "レスポンス", "form.security.description": "セキュリティ設定を構成します。", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json index 8a63d2473c..2351ee4f5d 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json @@ -48,6 +48,7 @@ "form.response.description": "응답(response) 환경을 설정하세요.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "응답 시간 (Response Time)", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "응답 (Response)", "form.security.description": "보안 환경을 설정하세요.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json b/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json index 4efe15eb62..689a3f6ed2 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json @@ -48,6 +48,7 @@ "form.response.description": "Configureer je response instellingen.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Tijd", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Response", "form.security.description": "Configureer je beveiliging instellingen.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json index c2cbfe2fe1..c30beec8a5 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json @@ -48,6 +48,7 @@ "form.response.description": "Konfiguruj ustawienia odpowiedzi.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Czas odpowiedzi", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Odpowiedzi", "form.security.description": "Konfiguruj ustawienia bezpieczeństwa.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json index f6b0dd3a93..6ef6faf9a0 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json @@ -48,6 +48,7 @@ "form.response.description": "Defina as suas configurações de resposta.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tempo de resposta", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Resposta", "form.security.description": "Defina as suas configurações de segurança.", "form.security.item.cors": "CORS", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json index 0aedfccf13..c430d55910 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json @@ -48,6 +48,7 @@ "form.response.description": "Configure as suas definições de resposta.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tempo de resposta", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Resposta", "form.security.description": "Configure as suas definições de segurança.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json index 9657f9ec46..4bd8d01214 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json @@ -48,6 +48,7 @@ "form.response.description": "Задайте настройки ответа.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Время ответа", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Ответ", "form.security.description": "Задайте настройки безопасности.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json b/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json index 3ebdb03dae..2c6d39a13e 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json @@ -48,6 +48,7 @@ "form.response.description": "Yanıt ayarlarınızı yapılandırın.", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tepki Süresi", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Cevap", "form.security.description": "Güvenlik ayarlarınızı yapılandırın.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json b/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json index 52ba8ef535..721262e1b3 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json @@ -47,6 +47,7 @@ "form.response.description": "配置您的响应设置。", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "Response", "form.security.description": "配置安全设置。", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json b/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json index 13de60771b..585e6fc8f1 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json @@ -48,6 +48,7 @@ "form.response.description": "調整回應設定", "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "回應時間", + "form.response.item.poweredBy.enabled": "Powered by", "form.response.name": "回應", "form.security.description": "調整安全性設定", "form.security.item.cors": "跨域資源共享 (Cors)", diff --git a/packages/strapi-plugin-settings-manager/services/SettingsManager.js b/packages/strapi-plugin-settings-manager/services/SettingsManager.js index 503c94b175..98032ad3d3 100644 --- a/packages/strapi-plugin-settings-manager/services/SettingsManager.js +++ b/packages/strapi-plugin-settings-manager/services/SettingsManager.js @@ -207,6 +207,15 @@ module.exports = { validations: { required: true } + }, + { + name: 'form.response.item.poweredBy.enabled', + target: 'response.poweredBy.enabled', + type: 'boolean', + value: _.get(strapi.config, `environments.${env}.response.poweredBy.enabled`, null), + validations: { + required: true + } } ] } diff --git a/packages/strapi/lib/middlewares/responses/index.js b/packages/strapi/lib/middlewares/responses/index.js index 4891a91060..07883be272 100644 --- a/packages/strapi/lib/middlewares/responses/index.js +++ b/packages/strapi/lib/middlewares/responses/index.js @@ -22,8 +22,8 @@ module.exports = () => { } // Set X-Powered-By header. - if (_.get(strapi.config, 'X-Powered-By.enabled', true)) { - ctx.set('X-Powered-By', 'Strapi '); + if (_.get(strapi.config.currentEnvironment.response, 'poweredBy.enabled', null)) { + ctx.set('X-Powered-By', _.get(strapi.config.currentEnvironment.response, 'poweredBy.value')); } }); cb(); From 9542341ec79362ec590c8ae3175aef258805ebb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Tue, 22 Jan 2019 19:08:09 +0100 Subject: [PATCH 03/18] Header X-Powered-By enabled by default in all environments --- docs/3.x.x/configurations/configurations.md | 2 +- .../files/config/environments/production/response.json | 3 ++- .../files/config/environments/staging/response.json | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/3.x.x/configurations/configurations.md b/docs/3.x.x/configurations/configurations.md index be1abfb2a6..f5ace10db1 100644 --- a/docs/3.x.x/configurations/configurations.md +++ b/docs/3.x.x/configurations/configurations.md @@ -340,7 +340,7 @@ The session doesn't work with `mongo` as a client. The package that we should us - `responseTime` - `enabled` (boolean): Enable or not `X-Response-Time header` to response. Default value: `false`. - `poweredBy` - - `enabled` (boolean): Enable or not `X-Powered-By` header to response. Default value: depends on the environment. + - `enabled` (boolean): Enable or not `X-Powered-By` header to response. Default value: `true`. - `value` (string): The value of the header. Default value: `Strapi ` *** diff --git a/packages/strapi-generate-new/files/config/environments/production/response.json b/packages/strapi-generate-new/files/config/environments/production/response.json index 7e5540cd05..c3d45b3e81 100644 --- a/packages/strapi-generate-new/files/config/environments/production/response.json +++ b/packages/strapi-generate-new/files/config/environments/production/response.json @@ -6,6 +6,7 @@ "enabled": false }, "poweredBy": { - "enabled": false + "enabled": true, + "value": "Strapi " } } diff --git a/packages/strapi-generate-new/files/config/environments/staging/response.json b/packages/strapi-generate-new/files/config/environments/staging/response.json index 7e5540cd05..c3d45b3e81 100644 --- a/packages/strapi-generate-new/files/config/environments/staging/response.json +++ b/packages/strapi-generate-new/files/config/environments/staging/response.json @@ -6,6 +6,7 @@ "enabled": false }, "poweredBy": { - "enabled": false + "enabled": true, + "value": "Strapi " } } From f4cfc17411bbd26f782f321318818779f6f5c983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Wed, 23 Jan 2019 11:21:44 +0100 Subject: [PATCH 04/18] Minor improvement to avoid to repeat the default powered by header value --- .../files/config/environments/development/response.json | 3 +-- .../files/config/environments/production/response.json | 3 +-- .../files/config/environments/staging/response.json | 3 +-- packages/strapi/lib/middlewares/responses/index.js | 4 ++-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/strapi-generate-new/files/config/environments/development/response.json b/packages/strapi-generate-new/files/config/environments/development/response.json index d6898c30bb..fe40713022 100644 --- a/packages/strapi-generate-new/files/config/environments/development/response.json +++ b/packages/strapi-generate-new/files/config/environments/development/response.json @@ -6,7 +6,6 @@ "enabled": false }, "poweredBy": { - "enabled": true, - "value": "Strapi " + "enabled": true } } diff --git a/packages/strapi-generate-new/files/config/environments/production/response.json b/packages/strapi-generate-new/files/config/environments/production/response.json index c3d45b3e81..9857a5d9e2 100644 --- a/packages/strapi-generate-new/files/config/environments/production/response.json +++ b/packages/strapi-generate-new/files/config/environments/production/response.json @@ -6,7 +6,6 @@ "enabled": false }, "poweredBy": { - "enabled": true, - "value": "Strapi " + "enabled": true } } diff --git a/packages/strapi-generate-new/files/config/environments/staging/response.json b/packages/strapi-generate-new/files/config/environments/staging/response.json index c3d45b3e81..9857a5d9e2 100644 --- a/packages/strapi-generate-new/files/config/environments/staging/response.json +++ b/packages/strapi-generate-new/files/config/environments/staging/response.json @@ -6,7 +6,6 @@ "enabled": false }, "poweredBy": { - "enabled": true, - "value": "Strapi " + "enabled": true } } diff --git a/packages/strapi/lib/middlewares/responses/index.js b/packages/strapi/lib/middlewares/responses/index.js index 07883be272..2247204285 100644 --- a/packages/strapi/lib/middlewares/responses/index.js +++ b/packages/strapi/lib/middlewares/responses/index.js @@ -22,8 +22,8 @@ module.exports = () => { } // Set X-Powered-By header. - if (_.get(strapi.config.currentEnvironment.response, 'poweredBy.enabled', null)) { - ctx.set('X-Powered-By', _.get(strapi.config.currentEnvironment.response, 'poweredBy.value')); + if (_.get(strapi.config.currentEnvironment.response, 'poweredBy.enabled')) { + ctx.set('X-Powered-By', _.get(strapi.config.currentEnvironment.response, 'poweredBy.value', 'Strapi ')); } }); cb(); From 5ee76aca733a081030dd338d05c5e54136e3ea07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Wed, 23 Jan 2019 14:35:10 +0100 Subject: [PATCH 05/18] Allowing to change the header powered by from the admin --- .../admin/src/translations/ar.json | 1 + .../admin/src/translations/de.json | 1 + .../admin/src/translations/en.json | 1 + .../admin/src/translations/es.json | 1 + .../admin/src/translations/fr.json | 1 + .../admin/src/translations/it.json | 1 + .../admin/src/translations/ja.json | 1 + .../admin/src/translations/ko.json | 1 + .../admin/src/translations/nl.json | 1 + .../admin/src/translations/pl.json | 1 + .../admin/src/translations/pt-BR.json | 1 + .../admin/src/translations/pt.json | 1 + .../admin/src/translations/ru.json | 1 + .../admin/src/translations/tr.json | 1 + .../admin/src/translations/zh-Hans.json | 1 + .../admin/src/translations/zh.json | 1 + .../services/SettingsManager.js | 14 +++++++++++--- 17 files changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json index a84d17c210..a11dc0c92f 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ar.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "وقت الاستجابة", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "القيمة", "form.response.name": "الإستجابة", "form.security.description": "تكوين إعدادات الأمان الخاصة بك.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/de.json b/packages/strapi-plugin-settings-manager/admin/src/translations/de.json index f20ef9e05c..2a9237dca2 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/de.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/de.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Antwortzeit", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Wert", "form.response.name": "Antwort", "form.security.description": "Verwalte deine Sicherheitseinstellungen.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json index 447c23b2e1..c59ea32c8d 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Value", "form.response.name": "Response", "form.security.description": "Configure your security settings.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/es.json b/packages/strapi-plugin-settings-manager/admin/src/translations/es.json index 601e25b085..317e05d386 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/es.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/es.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tiempo de respuesta", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Valor", "form.response.name": "Respuesta", "form.security.description": "Configurar las opciones de seguridad.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json index 26635443be..19101674eb 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Temps de réponse", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Valeur", "form.response.name": "Réponse", "form.security.description": "Configurations de sécurité.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/it.json b/packages/strapi-plugin-settings-manager/admin/src/translations/it.json index ad1c9d7004..d95c60bb28 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/it.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/it.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Il Tempo Di Risposta", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Valore", "form.response.name": "Risposta", "form.security.description": "Configurare le impostazioni di sicurezza.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json index ebd16d1db5..f325087887 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ja.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Value", "form.response.name": "レスポンス", "form.security.description": "セキュリティ設定を構成します。", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json index 2351ee4f5d..3b77193a83 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ko.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "응답 시간 (Response Time)", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "값", "form.response.name": "응답 (Response)", "form.security.description": "보안 환경을 설정하세요.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json b/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json index 689a3f6ed2..5872072788 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/nl.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Tijd", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Waarde", "form.response.name": "Response", "form.security.description": "Configureer je beveiliging instellingen.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json index c30beec8a5..35394ad06f 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pl.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Czas odpowiedzi", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Wartość", "form.response.name": "Odpowiedzi", "form.security.description": "Konfiguruj ustawienia bezpieczeństwa.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json index 6ef6faf9a0..a23e16c0c2 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pt-BR.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tempo de resposta", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Valor", "form.response.name": "Resposta", "form.security.description": "Defina as suas configurações de segurança.", "form.security.item.cors": "CORS", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json b/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json index c430d55910..4fa3edd182 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/pt.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tempo de resposta", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Valor", "form.response.name": "Resposta", "form.security.description": "Configure as suas definições de segurança.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json b/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json index 4bd8d01214..fe26ab9afc 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/ru.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Время ответа", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Value", "form.response.name": "Ответ", "form.security.description": "Задайте настройки безопасности.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json b/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json index 2c6d39a13e..46564bcfe9 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/tr.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Tepki Süresi", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Değer", "form.response.name": "Cevap", "form.security.description": "Güvenlik ayarlarınızı yapılandırın.", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json b/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json index 721262e1b3..5d52299471 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/zh-Hans.json @@ -48,6 +48,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "Response Time", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "Value", "form.response.name": "Response", "form.security.description": "配置安全设置。", "form.security.item.cors": "Cors", diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json b/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json index 585e6fc8f1..fe357d7ae2 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json +++ b/packages/strapi-plugin-settings-manager/admin/src/translations/zh.json @@ -49,6 +49,7 @@ "form.response.item.gzip.enabled": "Gzip", "form.response.item.responseTime.enabled": "回應時間", "form.response.item.poweredBy.enabled": "Powered by", + "form.response.item.poweredBy.value": "值", "form.response.name": "回應", "form.security.description": "調整安全性設定", "form.security.item.cors": "跨域資源共享 (Cors)", diff --git a/packages/strapi-plugin-settings-manager/services/SettingsManager.js b/packages/strapi-plugin-settings-manager/services/SettingsManager.js index 98032ad3d3..6c2844e6c9 100644 --- a/packages/strapi-plugin-settings-manager/services/SettingsManager.js +++ b/packages/strapi-plugin-settings-manager/services/SettingsManager.js @@ -213,9 +213,17 @@ module.exports = { target: 'response.poweredBy.enabled', type: 'boolean', value: _.get(strapi.config, `environments.${env}.response.poweredBy.enabled`, null), - validations: { - required: true - } + items: [ + { + name: 'form.response.item.poweredBy.value', + target: 'response.poweredBy.value', + type: 'string', + value: _.get(strapi.config, `environments.${env}.response.poweredBy.value`, null), + validations : { + required: true + } + } + ] } ] } From 48b6ac73682755d8eef32b3ae4e71836eaab2fff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Wed, 23 Jan 2019 16:15:04 +0100 Subject: [PATCH 06/18] Styling the new response setup in the admin --- .../services/SettingsManager.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/strapi-plugin-settings-manager/services/SettingsManager.js b/packages/strapi-plugin-settings-manager/services/SettingsManager.js index 6c2844e6c9..091708d60e 100644 --- a/packages/strapi-plugin-settings-manager/services/SettingsManager.js +++ b/packages/strapi-plugin-settings-manager/services/SettingsManager.js @@ -198,7 +198,12 @@ module.exports = { validations: { required: true } - }, + } + ] + }, + { + name: '', + items: [ { name: 'form.response.item.responseTime.enabled', target: 'response.responseTime.enabled', @@ -207,7 +212,12 @@ module.exports = { validations: { required: true } - }, + } + ] + }, + { + name: '', + items: [ { name: 'form.response.item.poweredBy.enabled', target: 'response.poweredBy.enabled', From e62ab72b3b88e7bdfd5927647c8620e9a1f82f85 Mon Sep 17 00:00:00 2001 From: Adam Saparudin Date: Thu, 24 Jan 2019 23:43:53 +0700 Subject: [PATCH 07/18] Add _in array query example --- docs/3.x.x/guides/filters.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/3.x.x/guides/filters.md b/docs/3.x.x/guides/filters.md index 315401fd59..98a809b799 100644 --- a/docs/3.x.x/guides/filters.md +++ b/docs/3.x.x/guides/filters.md @@ -19,6 +19,7 @@ The available operators are separated in four different categories: Easily filter results according to fields values. - `=`: Equals + - `_in`: Include in array - `_ne`: Not equals - `_lt`: Lower than - `_gt`: Greater than @@ -37,6 +38,9 @@ Find products having a price equal or greater than `3`. `GET /products?price_gte=3` +Find multiple product with id 3, 6, 8 +`GET /products?id_in=3&id_in=6&id_in=8` + ::: note You can't use filter to have specific results inside relation, like "Find users and only their posts older than yesterday" as example. If you need it, you can modify or create your own service or use [GraphQL](./graphql.md#query-api). ::: From c0e808f82c2678b6e152708053889dc4b77bf6f3 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Fri, 25 Jan 2019 17:24:21 +0100 Subject: [PATCH 08/18] Fix image populate --- packages/strapi-hook-mongoose/lib/index.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/strapi-hook-mongoose/lib/index.js b/packages/strapi-hook-mongoose/lib/index.js index 529743a023..54d9e885fd 100644 --- a/packages/strapi-hook-mongoose/lib/index.js +++ b/packages/strapi-hook-mongoose/lib/index.js @@ -160,6 +160,28 @@ module.exports = function (strapi) { } else { this._mongooseOptions.populate[association.alias].path = `${association.alias}.ref`; } + } else { + if (!this._mongooseOptions.populate) { + this._mongooseOptions.populate = {}; + } + + // Images are not displayed in populated data. + // We automaticaly populate morph relations. + if (association.nature === 'oneToManyMorph' || association.nature === 'manyToManyMorph') { + this._mongooseOptions.populate[association.alias] = { + path: association.alias, + match: { + [`${association.via}.${association.filter}`]: association.alias, + [`${association.via}.kind`]: definition.globalId + }, + options: { + sort: '-createdAt' + }, + select: undefined, + model: undefined, + _docs: {} + }; + } } next(); }); From 9539182768104a146ab4b3156f3692d4f0297ce2 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Sat, 26 Jan 2019 18:52:27 +0100 Subject: [PATCH 09/18] Change in order --- docs/3.x.x/guides/filters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.x.x/guides/filters.md b/docs/3.x.x/guides/filters.md index 98a809b799..c4760cfc01 100644 --- a/docs/3.x.x/guides/filters.md +++ b/docs/3.x.x/guides/filters.md @@ -19,12 +19,12 @@ The available operators are separated in four different categories: Easily filter results according to fields values. - `=`: Equals - - `_in`: Include in array - `_ne`: Not equals - `_lt`: Lower than - `_gt`: Greater than - `_lte`: Lower than or equal to - `_gte`: Greater than or equal to + - `_in`: Include in array - `_contains`: Contains - `_containss`: Contains case sensitive From 292447a4d27605d17c4b11331e75f27610a509bc Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Sun, 27 Jan 2019 16:55:55 +0100 Subject: [PATCH 10/18] Fix database prod and staging template --- .../environments/production/database.json | 21 --------- .../config/environments/staging/database.json | 21 --------- .../strapi-generate-new/json/database.json.js | 44 ++++++++++++++++++- packages/strapi-generate-new/lib/before.js | 8 +++- packages/strapi-generate-new/lib/index.js | 8 ++++ 5 files changed, 57 insertions(+), 45 deletions(-) delete mode 100644 packages/strapi-generate-new/files/config/environments/production/database.json delete mode 100644 packages/strapi-generate-new/files/config/environments/staging/database.json diff --git a/packages/strapi-generate-new/files/config/environments/production/database.json b/packages/strapi-generate-new/files/config/environments/production/database.json deleted file mode 100644 index 3075fabf91..0000000000 --- a/packages/strapi-generate-new/files/config/environments/production/database.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "defaultConnection": "default", - "connections": { - "default": { - "connector": "strapi-hook-mongoose", - "settings": { - "client": "mongo", - "uri": "${process.env.DATABASE_URI || ''}", - "host": "${process.env.DATABASE_HOST || '127.0.0.1'}", - "port": "${process.env.DATABASE_PORT || 27017}", - "database": "${process.env.DATABASE_NAME || 'strapi-production'}", - "username": "${process.env.DATABASE_USERNAME || ''}", - "password": "${process.env.DATABASE_PASSWORD || ''}" - }, - "options": { - "ssl": "${process.env.DATABASE_SSL || false}", - "authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}" - } - } - } -} diff --git a/packages/strapi-generate-new/files/config/environments/staging/database.json b/packages/strapi-generate-new/files/config/environments/staging/database.json deleted file mode 100644 index 43edf2421d..0000000000 --- a/packages/strapi-generate-new/files/config/environments/staging/database.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "defaultConnection": "default", - "connections": { - "default": { - "connector": "strapi-hook-mongoose", - "settings": { - "client": "mongo", - "uri": "${process.env.DATABASE_URI || ''}", - "host": "${process.env.DATABASE_HOST || '127.0.0.1'}", - "port": "${process.env.DATABASE_PORT || 27017}", - "database": "${process.env.DATABASE_NAME || 'strapi-staging'}", - "username": "${process.env.DATABASE_USERNAME || ''}", - "password": "${process.env.DATABASE_PASSWORD || ''}" - }, - "options": { - "ssl": "${process.env.DATABASE_SSL || false}", - "authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}" - } - } - } -} diff --git a/packages/strapi-generate-new/json/database.json.js b/packages/strapi-generate-new/json/database.json.js index 93434f6dd4..0e4806b166 100644 --- a/packages/strapi-generate-new/json/database.json.js +++ b/packages/strapi-generate-new/json/database.json.js @@ -1,8 +1,50 @@ 'use strict'; module.exports = scope => { + // Production/Staging Template + if (['production', 'staging'].includes(scope.keyPath.split('/')[2])) { + // All available settings (bookshelf and mongoose) + const settingsBase = { + client: scope.client.database, + host: '${process.env.DATABASE_HOST || 127.0.0.1 }', + port: '${process.env.DATABASE_PORT || 27017 }', + srv: '${process.env.DATABASE_SRV || false }', + database: '${process.env.DATABASE_NAME || strapi }', + username: '${process.env.DATABASE_USERNAME || \'\' }', + password: '${process.env.DATABASE_PASSWORD || \'\' }', + ssl: '${process.env.DATABASE_SSL || false }' + }; + + // Apply only settings set during the configuration + const settings = Object.keys(scope.database.settings).reduce((acc, key) => { + acc[key] = settingsBase[key]; + return acc; + }, {}); + + // All available options (bookshelf and mongoose) + const optionsBase = { + ssl: '${process.env.DATABASE_SSL || false }', + authenticationDatabase: '${process.env.DATABASE_AUTHENTICATION_DATABASE || \'\' }' + }; + + // Apply only options set during the configuration + const options = Object.keys(scope.database.options).reduce((acc, key) => { + acc[key] = optionsBase[key]; + return acc; + }, {}); + + return { + defaultConnection: 'default', + connections: { + default: { + connector: scope.client.connector, + settings, + options + } + } + }; + } - // Finally, return the JSON. return { defaultConnection: 'default', connections: { diff --git a/packages/strapi-generate-new/lib/before.js b/packages/strapi-generate-new/lib/before.js index e71301fa13..b02796d73c 100644 --- a/packages/strapi-generate-new/lib/before.js +++ b/packages/strapi-generate-new/lib/before.js @@ -205,12 +205,16 @@ module.exports = (scope, cb) => { } scope.database.settings.host = answers.host; - scope.database.settings.srv = _.toString(answers.srv) === 'true'; scope.database.settings.port = answers.port; scope.database.settings.database = answers.database; scope.database.settings.username = answers.username; scope.database.settings.password = answers.password; - scope.database.options.authenticationDatabase = answers.authenticationDatabase; + if (answers.srv) { + scope.database.settings.srv = _.toString(answers.srv) === 'true'; + } + if (answers.authenticationDatabase) { + scope.database.options.authenticationDatabase = answers.authenticationDatabase; + } if (scope.client.database === 'mongo') { scope.database.options.ssl = _.toString(answers.ssl) === 'true'; } else { diff --git a/packages/strapi-generate-new/lib/index.js b/packages/strapi-generate-new/lib/index.js index 7aacf6329b..f96ba44cde 100644 --- a/packages/strapi-generate-new/lib/index.js +++ b/packages/strapi-generate-new/lib/index.js @@ -34,6 +34,14 @@ module.exports = { jsonfile: database }, + 'config/environments/production/database.json': { + jsonfile: database + }, + + 'config/environments/staging/database.json': { + jsonfile: database + }, + // Copy dot files. '.editorconfig': { copy: 'editorconfig' From 23dd047f42d184347069c420045944f7f8b85979 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 28 Jan 2019 11:56:27 +0100 Subject: [PATCH 11/18] Fix typo --- packages/strapi-hook-mongoose/lib/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/strapi-hook-mongoose/lib/index.js b/packages/strapi-hook-mongoose/lib/index.js index 54d9e885fd..4daf8faa68 100644 --- a/packages/strapi-hook-mongoose/lib/index.js +++ b/packages/strapi-hook-mongoose/lib/index.js @@ -166,7 +166,7 @@ module.exports = function (strapi) { } // Images are not displayed in populated data. - // We automaticaly populate morph relations. + // We automatically populate morph relations. if (association.nature === 'oneToManyMorph' || association.nature === 'manyToManyMorph') { this._mongooseOptions.populate[association.alias] = { path: association.alias, @@ -576,4 +576,4 @@ module.exports = function (strapi) { }, relations); return hook; -}; \ No newline at end of file +}; From 08f3e0ecc313dcd41378983d3ff3ea3ef5a00356 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 28 Jan 2019 12:05:41 +0100 Subject: [PATCH 12/18] Apply PR feedback --- .../strapi-generate-new/json/database.json.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/strapi-generate-new/json/database.json.js b/packages/strapi-generate-new/json/database.json.js index 0e4806b166..38ced395f8 100644 --- a/packages/strapi-generate-new/json/database.json.js +++ b/packages/strapi-generate-new/json/database.json.js @@ -16,10 +16,9 @@ module.exports = scope => { }; // Apply only settings set during the configuration - const settings = Object.keys(scope.database.settings).reduce((acc, key) => { - acc[key] = settingsBase[key]; - return acc; - }, {}); + Object.keys(scope.database.settings).forEach((key) => { + scope.database.settings[key] = settingsBase[key]; + }); // All available options (bookshelf and mongoose) const optionsBase = { @@ -28,18 +27,17 @@ module.exports = scope => { }; // Apply only options set during the configuration - const options = Object.keys(scope.database.options).reduce((acc, key) => { - acc[key] = optionsBase[key]; - return acc; - }, {}); + Object.keys(scope.database.options).forEach((key) => { + scope.database.options[key] = optionsBase[key]; + }); return { defaultConnection: 'default', connections: { default: { connector: scope.client.connector, - settings, - options + settings: scope.database.settings, + options: scope.database.options } } }; From f365534c780842abc538f499084b853da2e48301 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 28 Jan 2019 15:47:38 +0100 Subject: [PATCH 13/18] Hot fix database host --- packages/strapi-generate-new/json/database.json.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-generate-new/json/database.json.js b/packages/strapi-generate-new/json/database.json.js index 38ced395f8..ba1df27e7d 100644 --- a/packages/strapi-generate-new/json/database.json.js +++ b/packages/strapi-generate-new/json/database.json.js @@ -6,7 +6,7 @@ module.exports = scope => { // All available settings (bookshelf and mongoose) const settingsBase = { client: scope.client.database, - host: '${process.env.DATABASE_HOST || 127.0.0.1 }', + host: '${process.env.DATABASE_HOST || \'127.0.0.1\' }', port: '${process.env.DATABASE_PORT || 27017 }', srv: '${process.env.DATABASE_SRV || false }', database: '${process.env.DATABASE_NAME || strapi }', From 6fa1786e1947b101baef442c461bd16011e8ea3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Georget?= Date: Mon, 28 Jan 2019 15:50:13 +0100 Subject: [PATCH 14/18] Add willCreateProject event --- packages/strapi-generate-new/lib/after.js | 14 ++------------ packages/strapi-generate-new/lib/before.js | 3 +++ packages/strapi-generate-new/lib/success.js | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 packages/strapi-generate-new/lib/success.js diff --git a/packages/strapi-generate-new/lib/after.js b/packages/strapi-generate-new/lib/after.js index 1e7853c2f2..92c081aa21 100644 --- a/packages/strapi-generate-new/lib/after.js +++ b/packages/strapi-generate-new/lib/after.js @@ -15,10 +15,10 @@ const fs = require('fs-extra'); const npm = require('enpeem'); const ora = require('ora'); const shell = require('shelljs'); -const request = require('request'); // Logger. const { packageManager } = require('strapi-utils'); +const trackSuccess = require('./success'); /** * Runs after this generator has finished @@ -201,14 +201,4 @@ module.exports = (scope, cb) => { cb(); }); } -}; - -function trackSuccess(event, scope) { - request - .post('https://analytics.strapi.io/track') - .form({ - event, - uuid: scope.uuid - }) - .on('error', () => {}); -} +}; \ No newline at end of file diff --git a/packages/strapi-generate-new/lib/before.js b/packages/strapi-generate-new/lib/before.js index b02796d73c..b6e90d7829 100644 --- a/packages/strapi-generate-new/lib/before.js +++ b/packages/strapi-generate-new/lib/before.js @@ -21,6 +21,7 @@ const uuid = require('uuid/v4'); // Logger. const { packageManager } = require('strapi-utils'); +const trackSuccess = require('./success'); /** * This `before` function is run before generating targets. @@ -49,6 +50,8 @@ module.exports = (scope, cb) => { scope.tmpPath = path.resolve(os.tmpdir(), `strapi${ crypto.randomBytes(6).toString('hex') }`); scope.uuid = uuid(); + trackSuccess('willCreateProject', scope); + // Ensure we aren't going to inadvertently delete any files. try { const files = fs.readdirSync(scope.rootPath); diff --git a/packages/strapi-generate-new/lib/success.js b/packages/strapi-generate-new/lib/success.js new file mode 100644 index 0000000000..e6aa1ef4d7 --- /dev/null +++ b/packages/strapi-generate-new/lib/success.js @@ -0,0 +1,18 @@ +'use strict'; + +/** + * Module dependencies + */ + +// Node.js core. +const request = require('request'); + +module.exports = function trackSuccess(event, scope) { + request + .post('https://analytics.strapi.io/track') + .form({ + event, + uuid: scope.uuid + }) + .on('error', () => {}); +}; From 190b3c862287a8d400d2476b7a39fe843d691624 Mon Sep 17 00:00:00 2001 From: Christian Danheimer Furedal Date: Tue, 29 Jan 2019 15:32:53 +0100 Subject: [PATCH 15/18] Added missing region eu-north-1 (Stockholm) --- packages/strapi-provider-upload-aws-s3/lib/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/strapi-provider-upload-aws-s3/lib/index.js b/packages/strapi-provider-upload-aws-s3/lib/index.js index 51d1e8aead..d03c0b27e1 100644 --- a/packages/strapi-provider-upload-aws-s3/lib/index.js +++ b/packages/strapi-provider-upload-aws-s3/lib/index.js @@ -40,6 +40,7 @@ module.exports = { 'cn-north-1', 'cn-northwest-1', 'eu-central-1', + 'eu-north-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', From e9202bfe5ecc2079fc760a8387a24052134142fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= Date: Tue, 29 Jan 2019 16:12:17 +0100 Subject: [PATCH 16/18] Default powered by for every evironment --- .../files/config/environments/development/response.json | 3 ++- .../files/config/environments/production/response.json | 3 ++- .../files/config/environments/staging/response.json | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/strapi-generate-new/files/config/environments/development/response.json b/packages/strapi-generate-new/files/config/environments/development/response.json index fe40713022..d6898c30bb 100644 --- a/packages/strapi-generate-new/files/config/environments/development/response.json +++ b/packages/strapi-generate-new/files/config/environments/development/response.json @@ -6,6 +6,7 @@ "enabled": false }, "poweredBy": { - "enabled": true + "enabled": true, + "value": "Strapi " } } diff --git a/packages/strapi-generate-new/files/config/environments/production/response.json b/packages/strapi-generate-new/files/config/environments/production/response.json index 9857a5d9e2..c3d45b3e81 100644 --- a/packages/strapi-generate-new/files/config/environments/production/response.json +++ b/packages/strapi-generate-new/files/config/environments/production/response.json @@ -6,6 +6,7 @@ "enabled": false }, "poweredBy": { - "enabled": true + "enabled": true, + "value": "Strapi " } } diff --git a/packages/strapi-generate-new/files/config/environments/staging/response.json b/packages/strapi-generate-new/files/config/environments/staging/response.json index 9857a5d9e2..c3d45b3e81 100644 --- a/packages/strapi-generate-new/files/config/environments/staging/response.json +++ b/packages/strapi-generate-new/files/config/environments/staging/response.json @@ -6,6 +6,7 @@ "enabled": false }, "poweredBy": { - "enabled": true + "enabled": true, + "value": "Strapi " } } From a2d8d622b0e20b56a48f1fc31133f6781f68624c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Georget?= Date: Wed, 30 Jan 2019 10:40:51 +0100 Subject: [PATCH 17/18] Add success event during installation --- packages/strapi/lib/utils/success.js | 21 +++++++++++++++++++++ packages/strapi/package.json | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 packages/strapi/lib/utils/success.js diff --git a/packages/strapi/lib/utils/success.js b/packages/strapi/lib/utils/success.js new file mode 100644 index 0000000000..631826d870 --- /dev/null +++ b/packages/strapi/lib/utils/success.js @@ -0,0 +1,21 @@ +#!/usr/bin/env node + +'use strict'; + +/** + * Module dependencies + */ + +// Node.js core. +const fetch = require('node-fetch'); + +if (process.env.npm_config_global === 'true') { + fetch('https://analytics.strapi.io/track', { + method: 'POST', + body: JSON.stringify({ event: 'didInstallStrapi' }), + headers: { 'Content-Type': 'application/json' } + }) + .catch(() => {}); +} + + diff --git a/packages/strapi/package.json b/packages/strapi/package.json index e3c641a254..adc19c0e49 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -71,6 +71,9 @@ "strapi-generate-service": "3.0.0-alpha.21", "strapi-utils": "3.0.0-alpha.21" }, + "scripts": { + "postinstall": "node lib/utils/success.js" + }, "author": { "email": "hi@strapi.io", "name": "Strapi team", From 590012a8f12c61b3de93a786902e23df6fa384a4 Mon Sep 17 00:00:00 2001 From: DMehaffy Date: Wed, 30 Jan 2019 05:53:10 -0700 Subject: [PATCH 18/18] Temp fix for bookshelf bigint --- packages/strapi-hook-bookshelf/lib/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/strapi-hook-bookshelf/lib/index.js b/packages/strapi-hook-bookshelf/lib/index.js index 8643b4781e..2d5f7c861b 100644 --- a/packages/strapi-hook-bookshelf/lib/index.js +++ b/packages/strapi-hook-bookshelf/lib/index.js @@ -422,8 +422,10 @@ module.exports = function(strapi) { case 'email': type = 'varchar(255)'; break; - case 'integer': case 'biginteger': + type = definition.client === 'pg' ? 'bigint' : 'bigint(53)'; + break; + case 'integer': type = definition.client === 'pg' ? 'integer' : 'int'; break; case 'float':