diff --git a/packages/backend/src/graphql/queries/get-app-config.ee.js b/packages/backend/src/graphql/queries/get-app-config.ee.js deleted file mode 100644 index 513191f5..00000000 --- a/packages/backend/src/graphql/queries/get-app-config.ee.js +++ /dev/null @@ -1,17 +0,0 @@ -import AppConfig from '../../models/app-config.js'; - -const getAppConfig = async (_parent, params, context) => { - context.currentUser.can('create', 'Connection'); - - const appConfig = await AppConfig.query() - .withGraphFetched({ - appAuthClients: true, - }) - .findOne({ - key: params.key, - }); - - return appConfig; -}; - -export default getAppConfig; diff --git a/packages/backend/src/graphql/query-resolvers.js b/packages/backend/src/graphql/query-resolvers.js index 71e75e9d..f9c578c5 100644 --- a/packages/backend/src/graphql/query-resolvers.js +++ b/packages/backend/src/graphql/query-resolvers.js @@ -1,7 +1,6 @@ import getApp from './queries/get-app.js'; import getAppAuthClient from './queries/get-app-auth-client.ee.js'; import getAppAuthClients from './queries/get-app-auth-clients.ee.js'; -import getAppConfig from './queries/get-app-config.ee.js'; import getBillingAndUsage from './queries/get-billing-and-usage.ee.js'; import getConfig from './queries/get-config.ee.js'; import getConnectedApps from './queries/get-connected-apps.js'; @@ -35,7 +34,6 @@ const queryResolvers = { getApp, getAppAuthClient, getAppAuthClients, - getAppConfig, getBillingAndUsage, getConfig, getConnectedApps, diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql index ddbdfdf6..0bd4deb7 100644 --- a/packages/backend/src/graphql/schema.graphql +++ b/packages/backend/src/graphql/schema.graphql @@ -1,6 +1,5 @@ type Query { getApp(key: String!): App - getAppConfig(key: String!): AppConfig getAppAuthClient(id: String!): AppAuthClient getAppAuthClients(appKey: String!, active: Boolean): [AppAuthClient] getConnectedApps(name: String): [App] diff --git a/packages/web/src/components/AdminApplicationCreateAuthClient/index.jsx b/packages/web/src/components/AdminApplicationCreateAuthClient/index.jsx index 394db3f5..4271605a 100644 --- a/packages/web/src/components/AdminApplicationCreateAuthClient/index.jsx +++ b/packages/web/src/components/AdminApplicationCreateAuthClient/index.jsx @@ -14,7 +14,9 @@ function AdminApplicationCreateAuthClient(props) { const { appKey, onClose } = props; const { data: auth } = useAppAuth(appKey); const formatMessage = useFormatMessage(); - const { appConfig, loading: loadingAppConfig } = useAppConfig(appKey); + + const { data: appConfig, isLoading: isAppConfigLoading } = + useAppConfig(appKey); const [ createAppConfig, @@ -33,7 +35,7 @@ function AdminApplicationCreateAuthClient(props) { }); const submitHandler = async (values) => { - let appConfigId = appConfig?.id; + let appConfigId = appConfig?.data?.id; if (!appConfigId) { const { data: appConfigData } = await createAppConfig({ @@ -51,6 +53,7 @@ function AdminApplicationCreateAuthClient(props) { } const { name, active, ...formattedAuthDefaults } = values; + await createAppAuthClient({ variables: { input: { @@ -97,7 +100,7 @@ function AdminApplicationCreateAuthClient(props) { onClose={onClose} error={createAppConfigError || createAppAuthClientError} title={formatMessage('createAuthClient.title')} - loading={loadingAppConfig} + loading={isAppConfigLoading} submitHandler={submitHandler} authFields={auth?.data?.fields} submitting={loadingCreateAppConfig || loadingCreateAppAuthClient} diff --git a/packages/web/src/components/AdminApplicationSettings/index.jsx b/packages/web/src/components/AdminApplicationSettings/index.jsx index 63fc36d7..504b7d44 100644 --- a/packages/web/src/components/AdminApplicationSettings/index.jsx +++ b/packages/web/src/components/AdminApplicationSettings/index.jsx @@ -7,6 +7,7 @@ import Paper from '@mui/material/Paper'; import Stack from '@mui/material/Stack'; import LoadingButton from '@mui/lab/LoadingButton'; import { useMutation } from '@apollo/client'; + import { CREATE_APP_CONFIG } from 'graphql/mutations/create-app-config'; import { UPDATE_APP_CONFIG } from 'graphql/mutations/update-app-config'; import Form from 'components/Form'; @@ -14,24 +15,28 @@ import { Switch } from './style'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; function AdminApplicationSettings(props) { - const { appConfig, loading } = useAppConfig(props.appKey); + const formatMessage = useFormatMessage(); + const enqueueSnackbar = useEnqueueSnackbar(); + + const { data: appConfig, isLoading: loading } = useAppConfig(props.appKey); + const [createAppConfig, { loading: loadingCreateAppConfig }] = useMutation( CREATE_APP_CONFIG, { refetchQueries: ['GetAppConfig'], }, ); + const [updateAppConfig, { loading: loadingUpdateAppConfig }] = useMutation( UPDATE_APP_CONFIG, { refetchQueries: ['GetAppConfig'], }, ); - const formatMessage = useFormatMessage(); - const enqueueSnackbar = useEnqueueSnackbar(); + const handleSubmit = async (values) => { try { - if (!appConfig) { + if (!appConfig.data) { await createAppConfig({ variables: { input: { key: props.appKey, ...values }, @@ -40,10 +45,11 @@ function AdminApplicationSettings(props) { } else { await updateAppConfig({ variables: { - input: { id: appConfig.id, ...values }, + input: { id: appConfig.data.id, ...values }, }, }); } + enqueueSnackbar(formatMessage('adminAppsSettings.successfullySaved'), { variant: 'success', SnackbarProps: { @@ -54,13 +60,14 @@ function AdminApplicationSettings(props) { throw new Error('Failed while saving!'); } }; + const defaultValues = useMemo( () => ({ - allowCustomConnection: appConfig?.allowCustomConnection || false, - shared: appConfig?.shared || false, - disabled: appConfig?.disabled || false, + allowCustomConnection: appConfig?.data?.allowCustomConnection || false, + shared: appConfig?.data?.shared || false, + disabled: appConfig?.data?.disabled || false, }), - [appConfig], + [appConfig?.data], ); return (