From f7cc4cffa465ff4b72942593431a398d3655f9b3 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 22 May 2020 13:36:25 -0700 Subject: [PATCH] Added framework for CSI questions & viewing. Schema changes to allow anon viewing of survey BOD-98 --- bodyshop_translations.babel | 31 +++ client/src/App/App.container.jsx | 33 +-- client/src/App/App.js | 10 +- .../checkbox/checkbox.component.jsx} | 0 .../config-form-components.component.jsx | 29 +++ .../rate/rate.component.jsx | 21 ++ .../slider/slider.component.jsx | 21 ++ .../text/text.component.jsx | 21 ++ .../textarea/textarea.component.jsx | 21 ++ .../job-intake-form.component.jsx | 35 ++-- .../schedule-job-modal.component.jsx | 4 +- client/src/graphql/csi.queries.js | 16 ++ client/src/pages/csi/csi.container.page.jsx | 128 ++++++++++++ client/src/pages/landing/landing.page.jsx | 4 +- client/src/translations/en_us/common.json | 7 +- client/src/translations/es/common.json | 5 + client/src/translations/fr/common.json | 5 + .../down.yaml | 5 + .../up.yaml | 27 +++ .../down.yaml | 24 +++ .../up.yaml | 40 ++++ .../down.yaml | 6 + .../up.yaml | 30 +++ .../down.yaml | 6 + .../up.yaml | 28 +++ .../down.yaml | 6 + .../up.yaml | 29 +++ .../down.yaml | 6 + .../up.yaml | 16 ++ .../down.yaml | 5 + .../up.yaml | 5 + .../down.yaml | 5 + .../up.yaml | 5 + .../down.yaml | 35 ++++ .../up.yaml | 36 ++++ .../down.yaml | 33 +++ .../up.yaml | 34 ++++ .../down.yaml | 36 ++++ .../up.yaml | 35 ++++ .../down.yaml | 22 ++ .../up.yaml | 24 +++ .../down.yaml | 6 + .../up.yaml | 17 ++ .../down.yaml | 23 +++ .../up.yaml | 22 ++ .../down.yaml | 5 + .../up.yaml | 25 +++ .../down.yaml | 5 + .../up.yaml | 5 + .../down.yaml | 5 + .../up.yaml | 5 + .../down.yaml | 5 + .../up.yaml | 10 + .../down.yaml | 24 +++ .../up.yaml | 40 ++++ .../down.yaml | 6 + .../up.yaml | 14 ++ .../down.yaml | 6 + .../up.yaml | 28 +++ .../down.yaml | 6 + .../up.yaml | 26 +++ .../down.yaml | 6 + .../up.yaml | 22 ++ hasura/migrations/metadata.yaml | 190 ++++++++++++++++++ 64 files changed, 1345 insertions(+), 45 deletions(-) rename client/src/components/{job-intake/components/job-intake-form-checkbox/job-itnake-form-checkbox.component.jsx => config-form-components/checkbox/checkbox.component.jsx} (100%) create mode 100644 client/src/components/config-form-components/config-form-components.component.jsx create mode 100644 client/src/components/config-form-components/rate/rate.component.jsx create mode 100644 client/src/components/config-form-components/slider/slider.component.jsx create mode 100644 client/src/components/config-form-components/text/text.component.jsx create mode 100644 client/src/components/config-form-components/textarea/textarea.component.jsx create mode 100644 client/src/graphql/csi.queries.js create mode 100644 client/src/pages/csi/csi.container.page.jsx create mode 100644 hasura/migrations/1590169457641_create_table_public_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169457641_create_table_public_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169486927_track_all_relationships/down.yaml create mode 100644 hasura/migrations/1590169486927_track_all_relationships/up.yaml create mode 100644 hasura/migrations/1590169552540_update_permission_user_public_table_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169552540_update_permission_user_public_table_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169569261_update_permission_user_public_table_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169569261_update_permission_user_public_table_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169577215_update_permission_user_public_table_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169577215_update_permission_user_public_table_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169605126_update_permission_anonymous_public_table_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169605126_update_permission_anonymous_public_table_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169665926_rename_table_public_csiinvites/down.yaml create mode 100644 hasura/migrations/1590169665926_rename_table_public_csiinvites/up.yaml create mode 100644 hasura/migrations/1590169695935_alter_table_public_csi_add_column_response/down.yaml create mode 100644 hasura/migrations/1590169695935_alter_table_public_csi_add_column_response/up.yaml create mode 100644 hasura/migrations/1590169707794_update_permission_user_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169707794_update_permission_user_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590169716647_update_permission_user_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169716647_update_permission_user_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590169723269_update_permission_user_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169723269_update_permission_user_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590169758310_update_permission_anonymous_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169758310_update_permission_anonymous_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590169798330_update_permission_anonymous_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169798330_update_permission_anonymous_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590169811190_update_permission_anonymous_public_table_csi/down.yaml create mode 100644 hasura/migrations/1590169811190_update_permission_anonymous_public_table_csi/up.yaml create mode 100644 hasura/migrations/1590172385133_create_table_public_csiquestion/down.yaml create mode 100644 hasura/migrations/1590172385133_create_table_public_csiquestion/up.yaml create mode 100644 hasura/migrations/1590172409241_alter_table_public_csi_add_column_questionset/down.yaml create mode 100644 hasura/migrations/1590172409241_alter_table_public_csi_add_column_questionset/up.yaml create mode 100644 hasura/migrations/1590172429767_rename_table_public_csiquestion/down.yaml create mode 100644 hasura/migrations/1590172429767_rename_table_public_csiquestion/up.yaml create mode 100644 hasura/migrations/1590172446694_set_fk_public_csi_questionset/down.yaml create mode 100644 hasura/migrations/1590172446694_set_fk_public_csi_questionset/up.yaml create mode 100644 hasura/migrations/1590172453385_track_all_relationships/down.yaml create mode 100644 hasura/migrations/1590172453385_track_all_relationships/up.yaml create mode 100644 hasura/migrations/1590172555010_update_permission_anonymous_public_table_csiquestions/down.yaml create mode 100644 hasura/migrations/1590172555010_update_permission_anonymous_public_table_csiquestions/up.yaml create mode 100644 hasura/migrations/1590172596611_update_permission_user_public_table_csiquestions/down.yaml create mode 100644 hasura/migrations/1590172596611_update_permission_user_public_table_csiquestions/up.yaml create mode 100644 hasura/migrations/1590172610009_update_permission_user_public_table_csiquestions/down.yaml create mode 100644 hasura/migrations/1590172610009_update_permission_user_public_table_csiquestions/up.yaml create mode 100644 hasura/migrations/1590172617955_update_permission_user_public_table_csiquestions/down.yaml create mode 100644 hasura/migrations/1590172617955_update_permission_user_public_table_csiquestions/up.yaml diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index b33247202..b8632faa4 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -3804,6 +3804,37 @@ + + csi + + + labels + + + title + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + + + documents diff --git a/client/src/App/App.container.jsx b/client/src/App/App.container.jsx index b6b837271..def27878c 100644 --- a/client/src/App/App.container.jsx +++ b/client/src/App/App.container.jsx @@ -29,7 +29,8 @@ const wsLink = new WebSocketLink({ reconnect: true, connectionParams: async () => { //const token = localStorage.getItem("token"); - const token = await auth.currentUser.getIdToken(true); + const token = + auth.currentUser && (await auth.currentUser.getIdToken(true)); if (token) { return { headers: { @@ -42,7 +43,8 @@ const wsLink = new WebSocketLink({ }); const subscriptionMiddleware = { applyMiddleware: async (options, next) => { - options.authToken = await auth.currentUser.getIdToken(true); + options.authToken = + auth.currentUser && (await auth.currentUser.getIdToken(true)); next(); }, }; @@ -70,18 +72,21 @@ const link = split( ); const authLink = setContext((_, { headers }) => { - return auth.currentUser.getIdToken().then((token) => { - if (token) { - return { - headers: { - ...headers, - authorization: token ? `Bearer ${token}` : "", - }, - }; - } else { - return { headers }; - } - }); + return ( + auth.currentUser && + auth.currentUser.getIdToken().then((token) => { + if (token) { + return { + headers: { + ...headers, + authorization: token ? `Bearer ${token}` : "", + }, + }; + } else { + return { headers }; + } + }) + ); }); const retryLink = new RetryLink({ diff --git a/client/src/App/App.js b/client/src/App/App.js index b5f7a5d56..e071f0a85 100644 --- a/client/src/App/App.js +++ b/client/src/App/App.js @@ -18,12 +18,13 @@ const SignInPage = lazy(() => import("../pages/sign-in/sign-in.page")); const Unauthorized = lazy(() => import("../pages/unauthorized/unauthorized.component") ); +const CsiPage = lazy(() => import("../pages/csi/csi.container.page")); const mapStateToProps = createStructuredSelector({ - currentUser: selectCurrentUser + currentUser: selectCurrentUser, }); -const mapDispatchToProps = dispatch => ({ - checkUserSession: () => dispatch(checkUserSession()) +const mapDispatchToProps = (dispatch) => ({ + checkUserSession: () => dispatch(checkUserSession()), }); export default connect( @@ -48,9 +49,8 @@ export default connect( }> - - + + {componentList.map((f, idx) => { + switch (f.type) { + case "checkbox": + return ; + case "slider": + return ; + case "text": + return ; + case "textarea": + return