From 9567293c171d8a16925c9e65c672f3fbc1172f20 Mon Sep 17 00:00:00 2001 From: Forrest Date: Mon, 6 Feb 2023 12:15:34 -0800 Subject: [PATCH] relint --- .eslintignore | 1 + lunatrace/bsl/frontend/src/api/generated.ts | 21 ++++++- .../api/graphql/getCurrentUserInfo.graphql | 1 + .../graphql/mutateUpdateUserSurvey.graphql | 5 ++ lunatrace/bsl/frontend/src/api/index.ts | 6 ++ .../src/pages/homepage/NewCustomerSurvey.tsx | 62 ++++++++++++++----- .../pages/homepage/UnauthenticatedHome.tsx | 2 +- 7 files changed, 82 insertions(+), 16 deletions(-) create mode 100644 lunatrace/bsl/frontend/src/api/graphql/mutateUpdateUserSurvey.graphql diff --git a/.eslintignore b/.eslintignore index 3c83a0713..aaa155e20 100644 --- a/.eslintignore +++ b/.eslintignore @@ -19,3 +19,4 @@ deploy-apigateway-to-firehose.ts lunatrace/bsl/semgrep/ **/real-dependency-tree-hasura-output.ts **/huge-docusaurus-tree-hasura-output.ts +**/backend-cdk/ts-output/** diff --git a/lunatrace/bsl/frontend/src/api/generated.ts b/lunatrace/bsl/frontend/src/api/generated.ts index 9ee4176e5..0baecfb98 100644 --- a/lunatrace/bsl/frontend/src/api/generated.ts +++ b/lunatrace/bsl/frontend/src/api/generated.ts @@ -9186,7 +9186,7 @@ export type GetCurrentUserInfoQueryVariables = Exact<{ }>; -export type GetCurrentUserInfoQuery = { __typename?: 'query_root', users: Array<{ __typename?: 'users', role: any, survey?: any | null }> }; +export type GetCurrentUserInfoQuery = { __typename?: 'query_root', users: Array<{ __typename?: 'users', role: any, survey?: any | null, id: any }> }; export type GetCweDetailsQueryVariables = Exact<{ id: Scalars['Int']; @@ -9362,6 +9362,14 @@ export type UpdateSettingsMutationVariables = Exact<{ export type UpdateSettingsMutation = { __typename?: 'mutation_root', update_settings_by_pk?: { __typename?: 'settings', id: any } | null }; +export type UpdateUserSurveyMutationVariables = Exact<{ + id: Scalars['uuid']; + survey: Scalars['jsonb']; +}>; + + +export type UpdateUserSurveyMutation = { __typename?: 'mutation_root', update_users_by_pk?: { __typename?: 'users', id: any } | null }; + export type DeleteFolderAdjustmentMutationVariables = Exact<{ id: Scalars['uuid']; }>; @@ -9633,6 +9641,7 @@ export const GetCurrentUserInfoDocument = ` users(where: {kratos_id: {_eq: $kratos_id}}) { role survey + id } } `; @@ -10308,6 +10317,13 @@ export const UpdateSettingsDocument = ` } } `; +export const UpdateUserSurveyDocument = ` + mutation UpdateUserSurvey($id: uuid!, $survey: jsonb!) { + update_users_by_pk(pk_columns: {id: $id}, _set: {survey: $survey}) { + id + } +} + `; export const DeleteFolderAdjustmentDocument = ` mutation DeleteFolderAdjustment($id: uuid!) { delete_folder_environmental_adjustment_by_pk(id: $id) { @@ -10458,6 +10474,9 @@ const injectedRtkApi = api.injectEndpoints({ UpdateSettings: build.mutation({ query: (variables) => ({ document: UpdateSettingsDocument, variables }) }), + UpdateUserSurvey: build.mutation({ + query: (variables) => ({ document: UpdateUserSurveyDocument, variables }) + }), DeleteFolderAdjustment: build.mutation({ query: (variables) => ({ document: DeleteFolderAdjustmentDocument, variables }) }), diff --git a/lunatrace/bsl/frontend/src/api/graphql/getCurrentUserInfo.graphql b/lunatrace/bsl/frontend/src/api/graphql/getCurrentUserInfo.graphql index 677f0b849..07020d8ad 100644 --- a/lunatrace/bsl/frontend/src/api/graphql/getCurrentUserInfo.graphql +++ b/lunatrace/bsl/frontend/src/api/graphql/getCurrentUserInfo.graphql @@ -2,5 +2,6 @@ query GetCurrentUserInfo($kratos_id: uuid!) { users(where: {kratos_id: {_eq: $kratos_id}}) { role survey + id } } diff --git a/lunatrace/bsl/frontend/src/api/graphql/mutateUpdateUserSurvey.graphql b/lunatrace/bsl/frontend/src/api/graphql/mutateUpdateUserSurvey.graphql new file mode 100644 index 000000000..d3e6bec1b --- /dev/null +++ b/lunatrace/bsl/frontend/src/api/graphql/mutateUpdateUserSurvey.graphql @@ -0,0 +1,5 @@ +mutation UpdateUserSurvey($id: uuid!, $survey: jsonb!) { + update_users_by_pk(pk_columns: {id: $id}, _set: {survey: $survey}) { + id + } +} diff --git a/lunatrace/bsl/frontend/src/api/index.ts b/lunatrace/bsl/frontend/src/api/index.ts index 66199a7a6..94adbd101 100644 --- a/lunatrace/bsl/frontend/src/api/index.ts +++ b/lunatrace/bsl/frontend/src/api/index.ts @@ -72,6 +72,12 @@ const appApi = generatedApi.enhanceEndpoints({ SetProjectFolderSettingsIgnore: { invalidatesTags: ['ProjectDetails', 'Builds'], }, + UpdateUserSurvey: { + invalidatesTags: ['User'], + }, + GetCurrentUserInfo: { + providesTags: ['User'], + }, }, }); diff --git a/lunatrace/bsl/frontend/src/pages/homepage/NewCustomerSurvey.tsx b/lunatrace/bsl/frontend/src/pages/homepage/NewCustomerSurvey.tsx index 678ca50b6..500126743 100644 --- a/lunatrace/bsl/frontend/src/pages/homepage/NewCustomerSurvey.tsx +++ b/lunatrace/bsl/frontend/src/pages/homepage/NewCustomerSurvey.tsx @@ -12,22 +12,32 @@ * */ import React, { FormEvent, useState } from 'react'; -import { Button, Card, Col, FloatingLabel, Form, Row, Spinner } from 'react-bootstrap'; +import { Button, Col, FloatingLabel, Form, Row } from 'react-bootstrap'; +import { AiOutlineSearch } from 'react-icons/ai'; +import { FiBriefcase } from 'react-icons/fi'; +import { HiOutlineBuildingOffice2 } from 'react-icons/hi2'; +import api from '../../api'; +import { SpinIfLoading } from '../../components/SpinIfLoading'; import { User } from '../../types/user'; export const NewCustomerSurvey: React.FunctionComponent<{ user: User }> = ({ user }) => { const [survey, setSurvey] = useState({ organization: '', role: '', hear_about_us: '' }); - function submitForm(e: FormEvent) { + const [updateSurvey, updateSurveyResult] = api.useUpdateUserSurveyMutation(); + + async function submitForm(e: FormEvent) { e.preventDefault(); - console.log(e); + if (updateSurveyResult.isLoading) { + return; + } + await updateSurvey({ id: user.id, survey }); } return ( <>

Welcome to LunaTrace

-

Answer a few quick questions first.

+

Please just answer a few quick questions first.

@@ -35,7 +45,15 @@ export const NewCustomerSurvey: React.FunctionComponent<{ user: User }> = ({ use - + + Your Company + + )} + className="mb-3" + > setSurvey({ ...survey, organization: e.target.value })} @@ -49,10 +67,18 @@ export const NewCustomerSurvey: React.FunctionComponent<{ user: User }> = ({ use - + + Your Role + + )} + className="mb-3" + > setSurvey({ ...survey, organization: e.target.value })} + value={survey.role} + onChange={(e) => setSurvey({ ...survey, role: e.target.value })} required={true} placeholder="enter project name" /> @@ -63,21 +89,29 @@ export const NewCustomerSurvey: React.FunctionComponent<{ user: User }> = ({ use - + + How you heard about us + + )} + className="mb-3" + > setSurvey({ ...survey, organization: e.target.value })} + value={survey.hear_about_us} + onChange={(e) => setSurvey({ ...survey, hear_about_us: e.target.value })} required={true} placeholder="enter project name" /> - + - diff --git a/lunatrace/bsl/frontend/src/pages/homepage/UnauthenticatedHome.tsx b/lunatrace/bsl/frontend/src/pages/homepage/UnauthenticatedHome.tsx index 181adfa47..41da78dbe 100644 --- a/lunatrace/bsl/frontend/src/pages/homepage/UnauthenticatedHome.tsx +++ b/lunatrace/bsl/frontend/src/pages/homepage/UnauthenticatedHome.tsx @@ -14,8 +14,8 @@ import React from 'react'; import { Helmet } from 'react-helmet-async'; -import { Login } from '../../components/auth/Login'; import { LunaTraceIntroVideo } from '../../components/LunaTraceIntroVideo'; +import { Login } from '../../components/auth/Login'; export const UnauthenticatedHome: React.FunctionComponent = (_props) => { return (