From 525abe6b886e887787523a0ecfebfdf473669ae6 Mon Sep 17 00:00:00 2001 From: Zainab Amir Date: Fri, 6 Jan 2023 10:49:47 +0500 Subject: [PATCH] feat: update configs (#721) --- .env | 21 +++++++++--------- .env.development | 20 +++++++---------- .env.private.example | 5 +++++ .env.test | 8 ------- .eslintignore | 1 + .gitignore | 1 + CODEOWNERS | 2 +- openedx.yaml | 2 +- src/config/index.js | 25 ++++++++++++++++++++++ src/data/utils/cookies.js | 2 +- src/index.jsx | 22 ++----------------- src/register/tests/TermsOfService.test.jsx | 5 +---- 12 files changed, 57 insertions(+), 57 deletions(-) create mode 100644 .env.private.example create mode 100644 src/config/index.js diff --git a/.env b/.env index 1f496f1d..fc3fc60a 100644 --- a/.env +++ b/.env @@ -13,22 +13,23 @@ ORDER_HISTORY_URL=null REFRESH_ACCESS_TOKEN_ENDPOINT=null SEGMENT_KEY='' SITE_NAME=null -USER_INFO_COOKIE_NAME=null -AUTHN_MINIMAL_HEADER=true -LOGIN_ISSUE_SUPPORT_LINK='' -USER_SURVEY_COOKIE_NAME=null -COOKIE_DOMAIN=null -AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK=null INFO_EMAIL='' -DISABLE_ENTERPRISE_LOGIN='' +# ***** Cookies ***** REGISTER_CONVERSION_COOKIE_NAME=null +USER_SURVEY_COOKIE_NAME=null +# ***** Links ***** +LOGIN_ISSUE_SUPPORT_LINK='' +AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK=null +# ***** Features flags ***** +DISABLE_ENTERPRISE_LOGIN='' +ENABLE_COOKIE_POLICY_BANNER='' +ENABLE_DYNAMIC_REGISTRATION_FIELDS='' ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN='' MARKETING_EMAILS_OPT_IN='' -ENABLE_COPPA_COMPLIANCE='' SHOW_CONFIGURABLE_EDX_FIELDS='' -SHOW_DYNAMIC_PROFILING_PAGE='' +# ***** Zendesk related keys ***** ZENDESK_KEY='' ZENDESK_LOGO_URL='' +# ***** Miscellaneous ***** APP_ID='' MFE_CONFIG_API_URL='' -ENABLE_COOKIE_POLICY_BANNER='' diff --git a/.env.development b/.env.development index 4b39b294..871269aa 100644 --- a/.env.development +++ b/.env.development @@ -18,22 +18,18 @@ ORDER_HISTORY_URL='http://localhost:1996/orders' REFRESH_ACCESS_TOKEN_ENDPOINT='http://localhost:18000/login_refresh' SEGMENT_KEY='' SITE_NAME='Your Platform Name Here' +INFO_EMAIL='info@example.com' +# ***** Cookies ***** +REGISTER_CONVERSION_COOKIE_NAME='openedx-user-register-conversion' +SESSION_COOKIE_DOMAIN='localhost' USER_INFO_COOKIE_NAME='edx-user-info' -AUTHN_MINIMAL_HEADER=true -LOGIN_ISSUE_SUPPORT_LINK='/login-issue-support-url' +USER_SURVEY_COOKIE_NAME='openedx-user-survey-type' +# ***** Links ***** +LOGIN_ISSUE_SUPPORT_LINK='http://localhost:18000/login-issue-support-url' TOS_AND_HONOR_CODE='http://localhost:18000/honor' TOS_LINK='http://localhost:18000/tos' PRIVACY_POLICY='http://localhost:18000/privacy' -USER_SURVEY_COOKIE_NAME='openedx-user-survey-type' -COOKIE_DOMAIN='localhost' AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK='http://localhost:1999/welcome' -INFO_EMAIL='info@edx.org' -DISABLE_ENTERPRISE_LOGIN='' -REGISTER_CONVERSION_COOKIE_NAME='openedx-user-register-conversion' -ENABLE_COPPA_COMPLIANCE='' -MARKETING_EMAILS_OPT_IN='' -ZENDESK_KEY='' -ZENDESK_LOGO_URL='' +# ***** Miscellaneous ***** APP_ID='' MFE_CONFIG_API_URL='' -SHOW_CONFIGURABLE_EDX_FIELDS='true' diff --git a/.env.private.example b/.env.private.example new file mode 100644 index 00000000..bdac5a5b --- /dev/null +++ b/.env.private.example @@ -0,0 +1,5 @@ +# Copy these to the .env.private to enable edX specific functionality on local system +ENABLE_COOKIE_POLICY_BANNER='true' +ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN='true' +MARKETING_EMAILS_OPT_IN='true' +SHOW_CONFIGURABLE_EDX_FIELDS='true' diff --git a/.env.test b/.env.test index 5ae4f2cc..975c3034 100644 --- a/.env.test +++ b/.env.test @@ -16,15 +16,7 @@ ORDER_HISTORY_URL='http://localhost:1996/orders' REFRESH_ACCESS_TOKEN_ENDPOINT='http://localhost:18000/login_refresh' SEGMENT_KEY='' SITE_NAME='Your Platform Name Here' -USER_INFO_COOKIE_NAME='edx-user-info' -LOGIN_ISSUE_SUPPORT_LINK='https://login-issue-support-url.com' USER_SURVEY_COOKIE_NAME='openedx-user-survey-type' -AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK='http://localhost:1999/welcome' -DISABLE_ENTERPRISE_LOGIN='' REGISTER_CONVERSION_COOKIE_NAME='openedx-user-register-conversion' -MARKETING_EMAILS_OPT_IN='' -ENABLE_COPPA_COMPLIANCE='' -ZENDESK_KEY='' -ZENDESK_LOGO_URL='' APP_ID='' MFE_CONFIG_API_URL='' diff --git a/.eslintignore b/.eslintignore index 0db94630..8346f2f1 100755 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,6 @@ coverage/* dist/ +docs node_modules/ __mocks__/ __snapshots__/ diff --git a/.gitignore b/.gitignore index fd97f824..ceeeb024 100755 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ node_modules npm-debug.log coverage module.config.js +.env.private dist/ src/i18n/transifex_input.json diff --git a/CODEOWNERS b/CODEOWNERS index 806de654..e1c17896 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,2 +1,2 @@ # The following users are the owners of all frontend-app-authn files -* @edx/vanguards +* @openedx/vanguards diff --git a/openedx.yaml b/openedx.yaml index c1b31bda..cd6b2c1f 100644 --- a/openedx.yaml +++ b/openedx.yaml @@ -3,6 +3,6 @@ nick: Authn MFE oeps: {} -owner: edx/vanguards +owner: openedx/vanguards openedx-release: ref: master diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 00000000..c7df1ba2 --- /dev/null +++ b/src/config/index.js @@ -0,0 +1,25 @@ +const configuration = { + // Cookies related configs + SESSION_COOKIE_DOMAIN: process.env.SESSION_COOKIE_DOMAIN, + REGISTER_CONVERSION_COOKIE_NAME: process.env.REGISTER_CONVERSION_COOKIE_NAME || null, + USER_SURVEY_COOKIE_NAME: process.env.USER_SURVEY_COOKIE_NAME || null, + // Features + DISABLE_ENTERPRISE_LOGIN: process.env.DISABLE_ENTERPRISE_LOGIN || '', + ENABLE_COOKIE_POLICY_BANNER: process.env.ENABLE_COOKIE_POLICY_BANNER || false, + ENABLE_DYNAMIC_REGISTRATION_FIELDS: process.env.ENABLE_DYNAMIC_REGISTRATION_FIELDS || false, + ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN: process.env.ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN || false, + MARKETING_EMAILS_OPT_IN: process.env.MARKETING_EMAILS_OPT_IN || '', + SHOW_CONFIGURABLE_EDX_FIELDS: process.env.SHOW_CONFIGURABLE_EDX_FIELDS || false, + // Links + ACTIVATION_EMAIL_SUPPORT_LINK: process.env.ACTIVATION_EMAIL_SUPPORT_LINK || null, + AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK: process.env.AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK || null, + LOGIN_ISSUE_SUPPORT_LINK: process.env.LOGIN_ISSUE_SUPPORT_LINK || null, + PASSWORD_RESET_SUPPORT_LINK: process.env.PASSWORD_RESET_SUPPORT_LINK || null, + PRIVACY_POLICY: process.env.PRIVACY_POLICY || null, + TOS_AND_HONOR_CODE: process.env.TOS_AND_HONOR_CODE || null, + TOS_LINK: process.env.TOS_LINK || null, + // Miscellaneous + INFO_EMAIL: process.env.INFO_EMAIL || '', +}; + +export default configuration; diff --git a/src/data/utils/cookies.js b/src/data/utils/cookies.js index 8830d13b..d9b8fc2c 100644 --- a/src/data/utils/cookies.js +++ b/src/data/utils/cookies.js @@ -3,7 +3,7 @@ import Cookies from 'universal-cookie'; export function setCookie(cookieName, cookieValue, cookieExpiry) { const cookies = new Cookies(); - const options = { domain: getConfig().COOKIE_DOMAIN, path: '/' }; + const options = { domain: getConfig().SESSION_COOKIE_DOMAIN, path: '/' }; if (cookieExpiry) { options.expires = cookieExpiry; } diff --git a/src/index.jsx b/src/index.jsx index 2e220bc3..b65466b5 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -10,6 +10,7 @@ import { import { ErrorPage } from '@edx/frontend-platform/react'; import { messages as paragonMessages } from '@edx/paragon'; +import configuration from './config'; import appMessages from './i18n'; import MainApp from './MainApp'; @@ -27,26 +28,7 @@ subscribe(APP_INIT_ERROR, (error) => { initialize({ handlers: { config: () => { - mergeConfig({ - LOGIN_ISSUE_SUPPORT_LINK: process.env.LOGIN_ISSUE_SUPPORT_LINK || null, - ACTIVATION_EMAIL_SUPPORT_LINK: process.env.ACTIVATION_EMAIL_SUPPORT_LINK || null, - PASSWORD_RESET_SUPPORT_LINK: process.env.PASSWORD_RESET_SUPPORT_LINK || null, - TOS_AND_HONOR_CODE: process.env.TOS_AND_HONOR_CODE || null, - TOS_LINK: process.env.TOS_LINK || null, - PRIVACY_POLICY: process.env.PRIVACY_POLICY || null, - USER_SURVEY_COOKIE_NAME: process.env.USER_SURVEY_COOKIE_NAME || null, - COOKIE_DOMAIN: process.env.COOKIE_DOMAIN, - AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK: process.env.AUTHN_PROGRESSIVE_PROFILING_SUPPORT_LINK || null, - DISABLE_ENTERPRISE_LOGIN: process.env.DISABLE_ENTERPRISE_LOGIN || '', - INFO_EMAIL: process.env.INFO_EMAIL || '', - REGISTER_CONVERSION_COOKIE_NAME: process.env.REGISTER_CONVERSION_COOKIE_NAME || null, - ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN: process.env.ENABLE_PROGRESSIVE_PROFILING_ON_AUTHN || false, - MARKETING_EMAILS_OPT_IN: process.env.MARKETING_EMAILS_OPT_IN || '', - ENABLE_COPPA_COMPLIANCE: process.env.ENABLE_COPPA_COMPLIANCE || '', - ENABLE_DYNAMIC_REGISTRATION_FIELDS: process.env.ENABLE_DYNAMIC_REGISTRATION_FIELDS || false, - SHOW_CONFIGURABLE_EDX_FIELDS: process.env.SHOW_CONFIGURABLE_EDX_FIELDS || false, - ENABLE_COOKIE_POLICY_BANNER: process.env.ENABLE_COOKIE_POLICY_BANNER || false, - }); + mergeConfig(configuration); }, }, messages: [ diff --git a/src/register/tests/TermsOfService.test.jsx b/src/register/tests/TermsOfService.test.jsx index 51939997..a1bd6d37 100644 --- a/src/register/tests/TermsOfService.test.jsx +++ b/src/register/tests/TermsOfService.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { getConfig, mergeConfig } from '@edx/frontend-platform'; +import { getConfig } from '@edx/frontend-platform'; import { injectIntl, IntlProvider } from '@edx/frontend-platform/i18n'; import { mount } from 'enzyme'; @@ -9,9 +9,6 @@ import TermsOfService from '../registrationFields/TermsOfService'; const IntlTermsOfService = injectIntl(TermsOfService); describe('TermsOfServiceTest', () => { - mergeConfig({ - TOS_LINK: 'http://tos-and-honor-code.com', - }); let value = false; const changeHandler = (e) => {