From ffdf33651bad06c74f9fe1f74f6d83e5a483faad Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Fri, 11 Aug 2023 20:26:00 +0000 Subject: [PATCH] chore: move config behind checks --- packages/backend/src/graphql/mutation-resolvers.ts | 2 +- .../{update-config.ts => update-config.ee.ts} | 0 .../queries/{get-config.ts => get-config.ee.ts} | 5 ++++- packages/backend/src/graphql/query-resolvers.ts | 2 +- packages/backend/src/models/user.ts | 10 ++++++---- .../{update-config.ts => update-config.ee.ts} | 0 .../queries/{get-config.ts => get-config.ee.ts} | 0 packages/web/src/hooks/useConfig.ts | 2 +- 8 files changed, 13 insertions(+), 8 deletions(-) rename packages/backend/src/graphql/mutations/{update-config.ts => update-config.ee.ts} (100%) rename packages/backend/src/graphql/queries/{get-config.ts => get-config.ee.ts} (85%) rename packages/web/src/graphql/mutations/{update-config.ts => update-config.ee.ts} (100%) rename packages/web/src/graphql/queries/{get-config.ts => get-config.ee.ts} (100%) diff --git a/packages/backend/src/graphql/mutation-resolvers.ts b/packages/backend/src/graphql/mutation-resolvers.ts index 41a7529911..511059a5a7 100644 --- a/packages/backend/src/graphql/mutation-resolvers.ts +++ b/packages/backend/src/graphql/mutation-resolvers.ts @@ -17,7 +17,7 @@ import login from './mutations/login'; import registerUser from './mutations/register-user.ee'; import resetConnection from './mutations/reset-connection'; import resetPassword from './mutations/reset-password.ee'; -import updateConfig from './mutations/update-config'; +import updateConfig from './mutations/update-config.ee'; import updateConnection from './mutations/update-connection'; import updateCurrentUser from './mutations/update-current-user'; import updateFlow from './mutations/update-flow'; diff --git a/packages/backend/src/graphql/mutations/update-config.ts b/packages/backend/src/graphql/mutations/update-config.ee.ts similarity index 100% rename from packages/backend/src/graphql/mutations/update-config.ts rename to packages/backend/src/graphql/mutations/update-config.ee.ts diff --git a/packages/backend/src/graphql/queries/get-config.ts b/packages/backend/src/graphql/queries/get-config.ee.ts similarity index 85% rename from packages/backend/src/graphql/queries/get-config.ts rename to packages/backend/src/graphql/queries/get-config.ee.ts index 72aa90d8ce..31e3eb1352 100644 --- a/packages/backend/src/graphql/queries/get-config.ts +++ b/packages/backend/src/graphql/queries/get-config.ee.ts @@ -1,5 +1,6 @@ -import Context from '../../types/express/context'; +import { hasValidLicense } from '../../helpers/license.ee'; import Config from '../../models/config'; +import Context from '../../types/express/context'; type Params = { keys: string[]; @@ -10,6 +11,8 @@ const getConfig = async ( params: Params, context: Context ) => { + if (!await hasValidLicense()) return {}; + const configQuery = Config .query(); diff --git a/packages/backend/src/graphql/query-resolvers.ts b/packages/backend/src/graphql/query-resolvers.ts index 932a1d1823..768c8b3b50 100644 --- a/packages/backend/src/graphql/query-resolvers.ts +++ b/packages/backend/src/graphql/query-resolvers.ts @@ -3,7 +3,7 @@ import getApps from './queries/get-apps'; import getAutomatischInfo from './queries/get-automatisch-info'; import getBillingAndUsage from './queries/get-billing-and-usage.ee'; import getConnectedApps from './queries/get-connected-apps'; -import getConfig from './queries/get-config'; +import getConfig from './queries/get-config.ee'; import getCurrentUser from './queries/get-current-user'; import getDynamicData from './queries/get-dynamic-data'; import getDynamicFields from './queries/get-dynamic-fields'; diff --git a/packages/backend/src/models/user.ts b/packages/backend/src/models/user.ts index 74612ce53b..383ff03fc5 100644 --- a/packages/backend/src/models/user.ts +++ b/packages/backend/src/models/user.ts @@ -293,11 +293,13 @@ class User extends Base { if (Array.isArray(this.permissions)) { this.permissions = this.permissions.filter((permission) => { - const isRolePermission = permission.subject === 'Role'; - const isSamlAuthProviderPermission = - permission.subject === 'SamlAuthProvider'; + const restrictedSubjects = [ + 'Role', + 'SamlAuthProvider', + 'Config', + ]; - return !isRolePermission && !isSamlAuthProviderPermission; + return !restrictedSubjects.includes(permission.subject); }); } diff --git a/packages/web/src/graphql/mutations/update-config.ts b/packages/web/src/graphql/mutations/update-config.ee.ts similarity index 100% rename from packages/web/src/graphql/mutations/update-config.ts rename to packages/web/src/graphql/mutations/update-config.ee.ts diff --git a/packages/web/src/graphql/queries/get-config.ts b/packages/web/src/graphql/queries/get-config.ee.ts similarity index 100% rename from packages/web/src/graphql/queries/get-config.ts rename to packages/web/src/graphql/queries/get-config.ee.ts diff --git a/packages/web/src/hooks/useConfig.ts b/packages/web/src/hooks/useConfig.ts index eaded7361c..1313c9a4b7 100644 --- a/packages/web/src/hooks/useConfig.ts +++ b/packages/web/src/hooks/useConfig.ts @@ -1,7 +1,7 @@ import { useQuery } from '@apollo/client'; import { IJSONObject } from '@automatisch/types'; -import { GET_CONFIG } from 'graphql/queries/get-config'; +import { GET_CONFIG } from 'graphql/queries/get-config.ee'; type QueryResponse = { getConfig: IJSONObject;