From 8682f22e6896713f9ce126242dd818959c0084d4 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 28 Dec 2023 13:53:16 +0100 Subject: [PATCH] feat: Convert all mutation files to js --- .../mutations/create-app-auth-client.ee.js | 17 +++++ .../mutations/create-app-auth-client.ee.ts | 35 ---------- .../graphql/mutations/create-app-config.ee.js | 18 +++++ .../graphql/mutations/create-app-config.ee.ts | 36 ---------- ...ate-connection.ts => create-connection.js} | 29 +++----- .../{create-flow.ts => create-flow.js} | 14 +--- .../src/graphql/mutations/create-role.ee.js | 29 ++++++++ .../src/graphql/mutations/create-role.ee.ts | 34 ---------- .../{create-step.ts => create-step.js} | 23 +------ .../{create-user.ee.ts => create-user.ee.js} | 20 +----- ...ent.ee.ts => delete-app-auth-client.ee.js} | 16 +---- ...ete-connection.ts => delete-connection.js} | 14 +--- ...t-user.ee.ts => delete-current-user.ee.js} | 10 +-- .../{delete-flow.ts => delete-flow.js} | 20 ++---- .../{delete-role.ee.ts => delete-role.ee.js} | 13 +--- .../{delete-step.ts => delete-step.js} | 14 +--- .../{delete-user.ee.ts => delete-user.ee.js} | 15 +---- .../{duplicate-flow.ts => duplicate-flow.js} | 44 ++++-------- .../{execute-flow.ts => execute-flow.js} | 18 +---- ...t-password.ee.ts => forgot-password.ee.js} | 8 +-- ...erate-auth-url.ts => generate-auth-url.js} | 13 +--- .../graphql/mutations/{login.ts => login.js} | 9 +-- ...egister-user.ee.ts => register-user.ee.js} | 10 +-- ...eset-connection.ts => reset-connection.js} | 14 +--- ...et-password.ee.ts => reset-password.ee.js} | 9 +-- .../mutations/update-app-auth-client.ee.js | 17 +++++ .../mutations/update-app-auth-client.ee.ts | 38 ----------- .../graphql/mutations/update-app-config.ee.js | 15 +++++ .../graphql/mutations/update-app-config.ee.ts | 39 ----------- ...pdate-config.ee.ts => update-config.ee.js} | 14 +--- ...ate-connection.ts => update-connection.js} | 19 +----- .../graphql/mutations/update-current-user.js | 11 +++ .../graphql/mutations/update-current-user.ts | 25 ------- ...e-flow-status.ts => update-flow-status.js} | 30 +++------ .../{update-flow.ts => update-flow.js} | 15 +---- .../{update-role.ee.ts => update-role.ee.js} | 67 ++++++------------- .../{update-step.ts => update-step.js} | 29 ++------ .../{update-user.ee.ts => update-user.ee.js} | 20 +----- .../mutations/upsert-saml-auth-provider.ee.js | 30 +++++++++ .../mutations/upsert-saml-auth-provider.ee.ts | 52 -------------- ...t-saml-auth-providers-role-mappings.ee.js} | 19 +----- ...ify-connection.ts => verify-connection.js} | 13 +--- 42 files changed, 229 insertions(+), 706 deletions(-) create mode 100644 packages/backend/src/graphql/mutations/create-app-auth-client.ee.js delete mode 100644 packages/backend/src/graphql/mutations/create-app-auth-client.ee.ts create mode 100644 packages/backend/src/graphql/mutations/create-app-config.ee.js delete mode 100644 packages/backend/src/graphql/mutations/create-app-config.ee.ts rename packages/backend/src/graphql/mutations/{create-connection.ts => create-connection.js} (57%) rename packages/backend/src/graphql/mutations/{create-flow.ts => create-flow.js} (79%) create mode 100644 packages/backend/src/graphql/mutations/create-role.ee.js delete mode 100644 packages/backend/src/graphql/mutations/create-role.ee.ts rename packages/backend/src/graphql/mutations/{create-step.ts => create-step.js} (79%) rename packages/backend/src/graphql/mutations/{create-user.ee.ts => create-user.ee.js} (69%) rename packages/backend/src/graphql/mutations/{delete-app-auth-client.ee.ts => delete-app-auth-client.ee.js} (50%) rename packages/backend/src/graphql/mutations/{delete-connection.ts => delete-connection.js} (55%) rename packages/backend/src/graphql/mutations/{delete-current-user.ee.ts => delete-current-user.ee.js} (87%) rename packages/backend/src/graphql/mutations/{delete-flow.ts => delete-flow.js} (78%) rename packages/backend/src/graphql/mutations/{delete-role.ee.ts => delete-role.ee.js} (83%) rename packages/backend/src/graphql/mutations/{delete-step.ts => delete-step.js} (79%) rename packages/backend/src/graphql/mutations/{delete-user.ee.ts => delete-user.ee.js} (70%) rename packages/backend/src/graphql/mutations/{duplicate-flow.ts => duplicate-flow.js} (61%) rename packages/backend/src/graphql/mutations/{execute-flow.ts => execute-flow.js} (70%) rename packages/backend/src/graphql/mutations/{forgot-password.ee.ts => forgot-password.ee.js} (89%) rename packages/backend/src/graphql/mutations/{generate-auth-url.ts => generate-auth-url.js} (77%) rename packages/backend/src/graphql/mutations/{login.ts => login.js} (76%) rename packages/backend/src/graphql/mutations/{register-user.ee.ts => register-user.ee.js} (75%) rename packages/backend/src/graphql/mutations/{reset-connection.ts => reset-connection.js} (69%) rename packages/backend/src/graphql/mutations/{reset-password.ee.ts => reset-password.ee.js} (77%) create mode 100644 packages/backend/src/graphql/mutations/update-app-auth-client.ee.js delete mode 100644 packages/backend/src/graphql/mutations/update-app-auth-client.ee.ts create mode 100644 packages/backend/src/graphql/mutations/update-app-config.ee.js delete mode 100644 packages/backend/src/graphql/mutations/update-app-config.ee.ts rename packages/backend/src/graphql/mutations/{update-config.ee.ts => update-config.ee.js} (74%) rename packages/backend/src/graphql/mutations/{update-connection.ts => update-connection.js} (65%) create mode 100644 packages/backend/src/graphql/mutations/update-current-user.js delete mode 100644 packages/backend/src/graphql/mutations/update-current-user.ts rename packages/backend/src/graphql/mutations/{update-flow-status.ts => update-flow-status.js} (79%) rename packages/backend/src/graphql/mutations/{update-flow.ts => update-flow.js} (59%) rename packages/backend/src/graphql/mutations/{update-role.ee.ts => update-role.ee.js} (50%) rename packages/backend/src/graphql/mutations/{update-step.ts => update-step.js} (74%) rename packages/backend/src/graphql/mutations/{update-user.ee.ts => update-user.ee.js} (58%) create mode 100644 packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.js delete mode 100644 packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.ts rename packages/backend/src/graphql/mutations/{upsert-saml-auth-providers-role-mappings.ee.ts => upsert-saml-auth-providers-role-mappings.ee.js} (79%) rename packages/backend/src/graphql/mutations/{verify-connection.ts => verify-connection.js} (76%) diff --git a/packages/backend/src/graphql/mutations/create-app-auth-client.ee.js b/packages/backend/src/graphql/mutations/create-app-auth-client.ee.js new file mode 100644 index 00000000..d0536cc1 --- /dev/null +++ b/packages/backend/src/graphql/mutations/create-app-auth-client.ee.js @@ -0,0 +1,17 @@ +import AppConfig from '../../models/app-config'; + +const createAppAuthClient = async (_parent, params, context) => { + context.currentUser.can('update', 'App'); + + const appConfig = await AppConfig.query() + .findById(params.input.appConfigId) + .throwIfNotFound(); + + const appAuthClient = await appConfig + .$relatedQuery('appAuthClients') + .insert(params.input); + + return appAuthClient; +}; + +export default createAppAuthClient; diff --git a/packages/backend/src/graphql/mutations/create-app-auth-client.ee.ts b/packages/backend/src/graphql/mutations/create-app-auth-client.ee.ts deleted file mode 100644 index a4c4554f..00000000 --- a/packages/backend/src/graphql/mutations/create-app-auth-client.ee.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { IJSONObject } from '@automatisch/types'; -import AppConfig from '../../models/app-config'; -import Context from '../../types/express/context'; - -type Params = { - input: { - appConfigId: string; - name: string; - formattedAuthDefaults?: IJSONObject; - active?: boolean; - }; -}; - -const createAppAuthClient = async ( - _parent: unknown, - params: Params, - context: Context -) => { - context.currentUser.can('update', 'App'); - - const appConfig = await AppConfig - .query() - .findById(params.input.appConfigId) - .throwIfNotFound(); - - const appAuthClient = await appConfig - .$relatedQuery('appAuthClients') - .insert( - params.input - ); - - return appAuthClient; -}; - -export default createAppAuthClient; diff --git a/packages/backend/src/graphql/mutations/create-app-config.ee.js b/packages/backend/src/graphql/mutations/create-app-config.ee.js new file mode 100644 index 00000000..4a699b25 --- /dev/null +++ b/packages/backend/src/graphql/mutations/create-app-config.ee.js @@ -0,0 +1,18 @@ +import App from '../../models/app'; +import AppConfig from '../../models/app-config'; + +const createAppConfig = async (_parent, params, context) => { + context.currentUser.can('update', 'App'); + + const key = params.input.key; + + const app = await App.findOneByKey(key); + + if (!app) throw new Error('The app cannot be found!'); + + const appConfig = await AppConfig.query().insert(params.input); + + return appConfig; +}; + +export default createAppConfig; diff --git a/packages/backend/src/graphql/mutations/create-app-config.ee.ts b/packages/backend/src/graphql/mutations/create-app-config.ee.ts deleted file mode 100644 index ae77f8d5..00000000 --- a/packages/backend/src/graphql/mutations/create-app-config.ee.ts +++ /dev/null @@ -1,36 +0,0 @@ -import App from '../../models/app'; -import AppConfig from '../../models/app-config'; -import Context from '../../types/express/context'; - -type Params = { - input: { - key: string; - allowCustomConnection?: boolean; - shared?: boolean; - disabled?: boolean; - }; -}; - -const createAppConfig = async ( - _parent: unknown, - params: Params, - context: Context -) => { - context.currentUser.can('update', 'App'); - - const key = params.input.key; - - const app = await App.findOneByKey(key); - - if (!app) throw new Error('The app cannot be found!'); - - const appConfig = await AppConfig - .query() - .insert( - params.input - ); - - return appConfig; -}; - -export default createAppConfig; diff --git a/packages/backend/src/graphql/mutations/create-connection.ts b/packages/backend/src/graphql/mutations/create-connection.js similarity index 57% rename from packages/backend/src/graphql/mutations/create-connection.ts rename to packages/backend/src/graphql/mutations/create-connection.js index 608e50c0..f2498e91 100644 --- a/packages/backend/src/graphql/mutations/create-connection.ts +++ b/packages/backend/src/graphql/mutations/create-connection.js @@ -1,21 +1,7 @@ -import { IJSONObject } from '@automatisch/types'; import App from '../../models/app'; import AppConfig from '../../models/app-config'; -import Context from '../../types/express/context'; -type Params = { - input: { - key: string; - appAuthClientId: string; - formattedData: IJSONObject; - }; -}; - -const createConnection = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const createConnection = async (_parent, params, context) => { context.currentUser.can('create', 'Connection'); const { key, appAuthClientId } = params.input; @@ -26,16 +12,20 @@ const createConnection = async ( let formattedData = params.input.formattedData; if (appConfig) { - if (appConfig.disabled) throw new Error('This application has been disabled for new connections!'); + if (appConfig.disabled) + throw new Error( + 'This application has been disabled for new connections!' + ); - if (!appConfig.allowCustomConnection && formattedData) throw new Error(`Custom connections cannot be created for ${app.name}!`); + if (!appConfig.allowCustomConnection && formattedData) + throw new Error(`Custom connections cannot be created for ${app.name}!`); if (appConfig.shared && !formattedData) { const authClient = await appConfig .$relatedQuery('appAuthClients') .findById(appAuthClientId) .where({ - active: true + active: true, }) .throwIfNotFound(); @@ -43,8 +33,7 @@ const createConnection = async ( } } - const createdConnection = await context - .currentUser + const createdConnection = await context.currentUser .$relatedQuery('connections') .insert({ key, diff --git a/packages/backend/src/graphql/mutations/create-flow.ts b/packages/backend/src/graphql/mutations/create-flow.js similarity index 79% rename from packages/backend/src/graphql/mutations/create-flow.ts rename to packages/backend/src/graphql/mutations/create-flow.js index 1632e94c..3cd11aa1 100644 --- a/packages/backend/src/graphql/mutations/create-flow.ts +++ b/packages/backend/src/graphql/mutations/create-flow.js @@ -1,19 +1,7 @@ import App from '../../models/app'; import Step from '../../models/step'; -import Context from '../../types/express/context'; -type Params = { - input: { - triggerAppKey: string; - connectionId: string; - }; -}; - -const createFlow = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const createFlow = async (_parent, params, context) => { context.currentUser.can('create', 'Flow'); const connectionId = params?.input?.connectionId; diff --git a/packages/backend/src/graphql/mutations/create-role.ee.js b/packages/backend/src/graphql/mutations/create-role.ee.js new file mode 100644 index 00000000..1a0b08c0 --- /dev/null +++ b/packages/backend/src/graphql/mutations/create-role.ee.js @@ -0,0 +1,29 @@ +import kebabCase from 'lodash/kebabCase'; +import Role from '../../models/role'; + +const createRole = async (_parent, params, context) => { + context.currentUser.can('create', 'Role'); + + const { name, description, permissions } = params.input; + const key = kebabCase(name); + + const existingRole = await Role.query().findOne({ key }); + + if (existingRole) { + throw new Error('Role already exists!'); + } + + return await Role.query() + .insertGraph( + { + key, + name, + description, + permissions, + }, + { relate: ['permissions'] } + ) + .returning('*'); +}; + +export default createRole; diff --git a/packages/backend/src/graphql/mutations/create-role.ee.ts b/packages/backend/src/graphql/mutations/create-role.ee.ts deleted file mode 100644 index 811eadc9..00000000 --- a/packages/backend/src/graphql/mutations/create-role.ee.ts +++ /dev/null @@ -1,34 +0,0 @@ -import kebabCase from 'lodash/kebabCase'; -import Permission from '../../models/permission'; -import Role from '../../models/role'; -import Context from '../../types/express/context'; - -type Params = { - input: { - name: string; - description: string; - permissions: Permission[]; - }; -}; - -const createRole = async (_parent: unknown, params: Params, context: Context) => { - context.currentUser.can('create', 'Role'); - - const { name, description, permissions } = params.input; - const key = kebabCase(name); - - const existingRole = await Role.query().findOne({ key }); - - if (existingRole) { - throw new Error('Role already exists!'); - } - - return await Role.query().insertGraph({ - key, - name, - description, - permissions, - }, { relate: ['permissions'] }).returning('*'); -}; - -export default createRole; diff --git a/packages/backend/src/graphql/mutations/create-step.ts b/packages/backend/src/graphql/mutations/create-step.js similarity index 79% rename from packages/backend/src/graphql/mutations/create-step.ts rename to packages/backend/src/graphql/mutations/create-step.js index e246c089..d037e8fc 100644 --- a/packages/backend/src/graphql/mutations/create-step.ts +++ b/packages/backend/src/graphql/mutations/create-step.js @@ -1,28 +1,7 @@ import App from '../../models/app'; import Flow from '../../models/flow'; -import Context from '../../types/express/context'; -type Params = { - input: { - key: string; - appKey: string; - flow: { - id: string; - }; - connection: { - id: string; - }; - previousStep: { - id: string; - }; - }; -}; - -const createStep = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const createStep = async (_parent, params, context) => { const conditions = context.currentUser.can('update', 'Flow'); const userFlows = context.currentUser.$relatedQuery('flows'); const allFlows = Flow.query(); diff --git a/packages/backend/src/graphql/mutations/create-user.ee.ts b/packages/backend/src/graphql/mutations/create-user.ee.js similarity index 69% rename from packages/backend/src/graphql/mutations/create-user.ee.ts rename to packages/backend/src/graphql/mutations/create-user.ee.js index 956be348..2f7d616f 100644 --- a/packages/backend/src/graphql/mutations/create-user.ee.ts +++ b/packages/backend/src/graphql/mutations/create-user.ee.js @@ -1,23 +1,7 @@ import User from '../../models/user'; import Role from '../../models/role'; -import Context from '../../types/express/context'; -type Params = { - input: { - fullName: string; - email: string; - password: string; - role: { - id: string; - }; - }; -}; - -const createUser = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const createUser = async (_parent, params, context) => { context.currentUser.can('create', 'User'); const { fullName, email, password } = params.input; @@ -30,7 +14,7 @@ const createUser = async ( throw new Error('User already exists!'); } - const userPayload: Partial = { + const userPayload = { fullName, email, password, diff --git a/packages/backend/src/graphql/mutations/delete-app-auth-client.ee.ts b/packages/backend/src/graphql/mutations/delete-app-auth-client.ee.js similarity index 50% rename from packages/backend/src/graphql/mutations/delete-app-auth-client.ee.ts rename to packages/backend/src/graphql/mutations/delete-app-auth-client.ee.js index 28ec6c82..0bc84e45 100644 --- a/packages/backend/src/graphql/mutations/delete-app-auth-client.ee.ts +++ b/packages/backend/src/graphql/mutations/delete-app-auth-client.ee.js @@ -1,21 +1,9 @@ -import Context from '../../types/express/context'; import AppAuthClient from '../../models/app-auth-client'; -type Params = { - input: { - id: string; - }; -}; - -const deleteAppAuthClient = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteAppAuthClient = async (_parent, params, context) => { context.currentUser.can('delete', 'App'); - await AppAuthClient - .query() + await AppAuthClient.query() .delete() .findOne({ id: params.input.id, diff --git a/packages/backend/src/graphql/mutations/delete-connection.ts b/packages/backend/src/graphql/mutations/delete-connection.js similarity index 55% rename from packages/backend/src/graphql/mutations/delete-connection.ts rename to packages/backend/src/graphql/mutations/delete-connection.js index 21abd2a3..7647807d 100644 --- a/packages/backend/src/graphql/mutations/delete-connection.ts +++ b/packages/backend/src/graphql/mutations/delete-connection.js @@ -1,16 +1,4 @@ -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - }; -}; - -const deleteConnection = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteConnection = async (_parent, params, context) => { context.currentUser.can('delete', 'Connection'); await context.currentUser diff --git a/packages/backend/src/graphql/mutations/delete-current-user.ee.ts b/packages/backend/src/graphql/mutations/delete-current-user.ee.js similarity index 87% rename from packages/backend/src/graphql/mutations/delete-current-user.ee.ts rename to packages/backend/src/graphql/mutations/delete-current-user.ee.js index 71a1a030..8483d407 100644 --- a/packages/backend/src/graphql/mutations/delete-current-user.ee.ts +++ b/packages/backend/src/graphql/mutations/delete-current-user.ee.js @@ -1,17 +1,11 @@ import { Duration } from 'luxon'; -import Context from '../../types/express/context'; import deleteUserQueue from '../../queues/delete-user.ee'; import flowQueue from '../../queues/flow'; import Flow from '../../models/flow'; -import Execution from '../../models/execution'; import ExecutionStep from '../../models/execution-step'; import appConfig from '../../config/app'; -const deleteCurrentUser = async ( - _parent: unknown, - params: never, - context: Context -) => { +const deleteCurrentUser = async (_parent, params, context) => { const id = context.currentUser.id; const flows = await context.currentUser.$relatedQuery('flows').where({ @@ -32,7 +26,7 @@ const deleteCurrentUser = async ( await context.currentUser .$relatedQuery('executions') .select('executions.id') - ).map((execution: Execution) => execution.id); + ).map((execution) => execution.id); const flowIds = flows.map((flow) => flow.id); await ExecutionStep.query().delete().whereIn('execution_id', executionIds); diff --git a/packages/backend/src/graphql/mutations/delete-flow.ts b/packages/backend/src/graphql/mutations/delete-flow.js similarity index 78% rename from packages/backend/src/graphql/mutations/delete-flow.ts rename to packages/backend/src/graphql/mutations/delete-flow.js index 9ca91a18..1a122df7 100644 --- a/packages/backend/src/graphql/mutations/delete-flow.ts +++ b/packages/backend/src/graphql/mutations/delete-flow.js @@ -1,21 +1,9 @@ -import Context from '../../types/express/context'; import Flow from '../../models/flow'; -import Execution from '../../models/execution'; import ExecutionStep from '../../models/execution-step'; import globalVariable from '../../helpers/global-variable'; import logger from '../../helpers/logger'; -type Params = { - input: { - id: string; - }; -}; - -const deleteFlow = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteFlow = async (_parent, params, context) => { const conditions = context.currentUser.can('delete', 'Flow'); const isCreator = conditions.isCreator; const allFlows = Flow.query(); @@ -43,13 +31,15 @@ const deleteFlow = async ( await trigger.unregisterHook($); } catch (error) { // suppress error as the remote resource might have been already deleted - logger.debug(`Failed to unregister webhook for flow ${flow.id}: ${error.message}`); + logger.debug( + `Failed to unregister webhook for flow ${flow.id}: ${error.message}` + ); } } const executionIds = ( await flow.$relatedQuery('executions').select('executions.id') - ).map((execution: Execution) => execution.id); + ).map((execution) => execution.id); await ExecutionStep.query().delete().whereIn('execution_id', executionIds); diff --git a/packages/backend/src/graphql/mutations/delete-role.ee.ts b/packages/backend/src/graphql/mutations/delete-role.ee.js similarity index 83% rename from packages/backend/src/graphql/mutations/delete-role.ee.ts rename to packages/backend/src/graphql/mutations/delete-role.ee.js index 6168383c..f653df43 100644 --- a/packages/backend/src/graphql/mutations/delete-role.ee.ts +++ b/packages/backend/src/graphql/mutations/delete-role.ee.js @@ -1,18 +1,7 @@ import Role from '../../models/role'; import SamlAuthProvider from '../../models/saml-auth-provider.ee'; -import Context from '../../types/express/context'; -type Params = { - input: { - id: string; - }; -}; - -const deleteRole = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteRole = async (_parent, params, context) => { context.currentUser.can('delete', 'Role'); const role = await Role.query().findById(params.input.id).throwIfNotFound(); diff --git a/packages/backend/src/graphql/mutations/delete-step.ts b/packages/backend/src/graphql/mutations/delete-step.js similarity index 79% rename from packages/backend/src/graphql/mutations/delete-step.ts rename to packages/backend/src/graphql/mutations/delete-step.js index d4b841e7..fb4a7bd2 100644 --- a/packages/backend/src/graphql/mutations/delete-step.ts +++ b/packages/backend/src/graphql/mutations/delete-step.js @@ -1,16 +1,4 @@ -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - }; -}; - -const deleteStep = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteStep = async (_parent, params, context) => { context.currentUser.can('update', 'Flow'); const step = await context.currentUser diff --git a/packages/backend/src/graphql/mutations/delete-user.ee.ts b/packages/backend/src/graphql/mutations/delete-user.ee.js similarity index 70% rename from packages/backend/src/graphql/mutations/delete-user.ee.ts rename to packages/backend/src/graphql/mutations/delete-user.ee.js index ff5a6b71..cd83eacb 100644 --- a/packages/backend/src/graphql/mutations/delete-user.ee.ts +++ b/packages/backend/src/graphql/mutations/delete-user.ee.js @@ -1,19 +1,8 @@ import { Duration } from 'luxon'; -import Context from '../../types/express/context'; import User from '../../models/user'; import deleteUserQueue from '../../queues/delete-user.ee'; -type Params = { - input: { - id: string; - }; -}; - -const deleteUser = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const deleteUser = async (_parent, params, context) => { context.currentUser.can('delete', 'User'); const id = params.input.id; @@ -24,7 +13,7 @@ const deleteUser = async ( const jobPayload = { id }; const millisecondsFor30Days = Duration.fromObject({ days: 30 }).toMillis(); const jobOptions = { - delay: millisecondsFor30Days + delay: millisecondsFor30Days, }; await deleteUserQueue.add(jobName, jobPayload, jobOptions); diff --git a/packages/backend/src/graphql/mutations/duplicate-flow.ts b/packages/backend/src/graphql/mutations/duplicate-flow.js similarity index 61% rename from packages/backend/src/graphql/mutations/duplicate-flow.ts rename to packages/backend/src/graphql/mutations/duplicate-flow.js index 718cfc1f..77e0a70b 100644 --- a/packages/backend/src/graphql/mutations/duplicate-flow.ts +++ b/packages/backend/src/graphql/mutations/duplicate-flow.js @@ -1,15 +1,4 @@ -import Context from '../../types/express/context'; -import Step from '../../models/step'; - -type Params = { - input: { - id: string; - }; -}; - -type NewStepIds = Record; - -function updateStepId(value: string, newStepIds: NewStepIds) { +function updateStepId(value, newStepIds) { let newValue = value; const stepIdEntries = Object.entries(newStepIds); @@ -24,9 +13,9 @@ function updateStepId(value: string, newStepIds: NewStepIds) { return newValue; } -function updateStepVariables(parameters: Step['parameters'], newStepIds: NewStepIds): Step['parameters'] { +function updateStepVariables(parameters, newStepIds) { const entries = Object.entries(parameters); - return entries.reduce((result, [key, value]: [string, unknown]) => { + return entries.reduce((result, [key, value]) => { if (typeof value === 'string') { return { ...result, @@ -37,7 +26,7 @@ function updateStepVariables(parameters: Step['parameters'], newStepIds: NewStep if (Array.isArray(value)) { return { ...result, - [key]: value.map(item => updateStepVariables(item, newStepIds)), + [key]: value.map((item) => updateStepVariables(item, newStepIds)), }; } @@ -48,11 +37,7 @@ function updateStepVariables(parameters: Step['parameters'], newStepIds: NewStep }, {}); } -const duplicateFlow = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const duplicateFlow = async (_parent, params, context) => { context.currentUser.can('create', 'Flow'); const flow = await context.currentUser @@ -69,17 +54,16 @@ const duplicateFlow = async ( active: false, }); - const newStepIds: NewStepIds = {}; + const newStepIds = {}; for (const step of flow.steps) { - const duplicatedStep = await duplicatedFlow.$relatedQuery('steps') - .insert({ - key: step.key, - appKey: step.appKey, - type: step.type, - connectionId: step.connectionId, - position: step.position, - parameters: updateStepVariables(step.parameters, newStepIds), - }); + const duplicatedStep = await duplicatedFlow.$relatedQuery('steps').insert({ + key: step.key, + appKey: step.appKey, + type: step.type, + connectionId: step.connectionId, + position: step.position, + parameters: updateStepVariables(step.parameters, newStepIds), + }); if (duplicatedStep.isTrigger) { await duplicatedStep.updateWebhookUrl(); diff --git a/packages/backend/src/graphql/mutations/execute-flow.ts b/packages/backend/src/graphql/mutations/execute-flow.js similarity index 70% rename from packages/backend/src/graphql/mutations/execute-flow.ts rename to packages/backend/src/graphql/mutations/execute-flow.js index a172b0ee..a7d9c327 100644 --- a/packages/backend/src/graphql/mutations/execute-flow.ts +++ b/packages/backend/src/graphql/mutations/execute-flow.js @@ -1,18 +1,7 @@ -import Context from '../../types/express/context'; import testRun from '../../services/test-run'; import Step from '../../models/step'; -type Params = { - input: { - stepId: string; - }; -}; - -const executeFlow = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const executeFlow = async (_parent, params, context) => { const conditions = context.currentUser.can('update', 'Flow'); const isCreator = conditions.isCreator; const allSteps = Step.query(); @@ -21,10 +10,7 @@ const executeFlow = async ( const { stepId } = params.input; - const untilStep = await baseQuery - .clone() - .findById(stepId) - .throwIfNotFound(); + const untilStep = await baseQuery.clone().findById(stepId).throwIfNotFound(); const { executionStep } = await testRun({ stepId }); diff --git a/packages/backend/src/graphql/mutations/forgot-password.ee.ts b/packages/backend/src/graphql/mutations/forgot-password.ee.js similarity index 89% rename from packages/backend/src/graphql/mutations/forgot-password.ee.ts rename to packages/backend/src/graphql/mutations/forgot-password.ee.js index e40a32d9..94e6b5ee 100644 --- a/packages/backend/src/graphql/mutations/forgot-password.ee.ts +++ b/packages/backend/src/graphql/mutations/forgot-password.ee.js @@ -6,13 +6,7 @@ import { REMOVE_AFTER_7_DAYS_OR_50_JOBS, } from '../../helpers/remove-job-configuration'; -type Params = { - input: { - email: string; - }; -}; - -const forgotPassword = async (_parent: unknown, params: Params) => { +const forgotPassword = async (_parent, params) => { const { email } = params.input; const user = await User.query().findOne({ email: email.toLowerCase() }); diff --git a/packages/backend/src/graphql/mutations/generate-auth-url.ts b/packages/backend/src/graphql/mutations/generate-auth-url.js similarity index 77% rename from packages/backend/src/graphql/mutations/generate-auth-url.ts rename to packages/backend/src/graphql/mutations/generate-auth-url.js index ca7e1e7f..60d0581c 100644 --- a/packages/backend/src/graphql/mutations/generate-auth-url.ts +++ b/packages/backend/src/graphql/mutations/generate-auth-url.js @@ -1,18 +1,7 @@ -import Context from '../../types/express/context'; import globalVariable from '../../helpers/global-variable'; import App from '../../models/app'; -type Params = { - input: { - id: string; - }; -}; - -const generateAuthUrl = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const generateAuthUrl = async (_parent, params, context) => { context.currentUser.can('create', 'Connection'); const connection = await context.currentUser diff --git a/packages/backend/src/graphql/mutations/login.ts b/packages/backend/src/graphql/mutations/login.js similarity index 76% rename from packages/backend/src/graphql/mutations/login.ts rename to packages/backend/src/graphql/mutations/login.js index 54a51e3e..a00d5af8 100644 --- a/packages/backend/src/graphql/mutations/login.ts +++ b/packages/backend/src/graphql/mutations/login.js @@ -1,14 +1,7 @@ import User from '../../models/user'; import createAuthTokenByUserId from '../../helpers/create-auth-token-by-user-id'; -type Params = { - input: { - email: string; - password: string; - }; -}; - -const login = async (_parent: unknown, params: Params) => { +const login = async (_parent, params) => { const user = await User.query().findOne({ email: params.input.email.toLowerCase(), }); diff --git a/packages/backend/src/graphql/mutations/register-user.ee.ts b/packages/backend/src/graphql/mutations/register-user.ee.js similarity index 75% rename from packages/backend/src/graphql/mutations/register-user.ee.ts rename to packages/backend/src/graphql/mutations/register-user.ee.js index ba0651b4..860258f0 100644 --- a/packages/backend/src/graphql/mutations/register-user.ee.ts +++ b/packages/backend/src/graphql/mutations/register-user.ee.js @@ -1,15 +1,7 @@ import User from '../../models/user'; import Role from '../../models/role'; -type Params = { - input: { - fullName: string; - email: string; - password: string; - }; -}; - -const registerUser = async (_parent: unknown, params: Params) => { +const registerUser = async (_parent, params) => { const { fullName, email, password } = params.input; const existingUser = await User.query().findOne({ diff --git a/packages/backend/src/graphql/mutations/reset-connection.ts b/packages/backend/src/graphql/mutations/reset-connection.js similarity index 69% rename from packages/backend/src/graphql/mutations/reset-connection.ts rename to packages/backend/src/graphql/mutations/reset-connection.js index 9eb3f763..212cede7 100644 --- a/packages/backend/src/graphql/mutations/reset-connection.ts +++ b/packages/backend/src/graphql/mutations/reset-connection.js @@ -1,16 +1,4 @@ -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - }; -}; - -const resetConnection = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const resetConnection = async (_parent, params, context) => { context.currentUser.can('create', 'Connection'); let connection = await context.currentUser diff --git a/packages/backend/src/graphql/mutations/reset-password.ee.ts b/packages/backend/src/graphql/mutations/reset-password.ee.js similarity index 77% rename from packages/backend/src/graphql/mutations/reset-password.ee.ts rename to packages/backend/src/graphql/mutations/reset-password.ee.js index d68fc55a..15177b17 100644 --- a/packages/backend/src/graphql/mutations/reset-password.ee.ts +++ b/packages/backend/src/graphql/mutations/reset-password.ee.js @@ -1,13 +1,6 @@ import User from '../../models/user'; -type Params = { - input: { - token: string; - password: string; - }; -}; - -const resetPassword = async (_parent: unknown, params: Params) => { +const resetPassword = async (_parent, params) => { const { token, password } = params.input; if (!token) { diff --git a/packages/backend/src/graphql/mutations/update-app-auth-client.ee.js b/packages/backend/src/graphql/mutations/update-app-auth-client.ee.js new file mode 100644 index 00000000..b373a282 --- /dev/null +++ b/packages/backend/src/graphql/mutations/update-app-auth-client.ee.js @@ -0,0 +1,17 @@ +import AppAuthClient from '../../models/app-auth-client'; + +const updateAppAuthClient = async (_parent, params, context) => { + context.currentUser.can('update', 'App'); + + const { id, ...appAuthClientData } = params.input; + + const appAuthClient = await AppAuthClient.query() + .findById(id) + .throwIfNotFound(); + + await appAuthClient.$query().patch(appAuthClientData); + + return appAuthClient; +}; + +export default updateAppAuthClient; diff --git a/packages/backend/src/graphql/mutations/update-app-auth-client.ee.ts b/packages/backend/src/graphql/mutations/update-app-auth-client.ee.ts deleted file mode 100644 index 2847c1e6..00000000 --- a/packages/backend/src/graphql/mutations/update-app-auth-client.ee.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { IJSONObject } from '@automatisch/types'; -import AppAuthClient from '../../models/app-auth-client'; -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - name: string; - formattedAuthDefaults?: IJSONObject; - active?: boolean; - }; -}; - -const updateAppAuthClient = async ( - _parent: unknown, - params: Params, - context: Context -) => { - context.currentUser.can('update', 'App'); - - const { - id, - ...appAuthClientData - } = params.input; - - const appAuthClient = await AppAuthClient - .query() - .findById(id) - .throwIfNotFound(); - - await appAuthClient - .$query() - .patch(appAuthClientData); - - return appAuthClient; -}; - -export default updateAppAuthClient; diff --git a/packages/backend/src/graphql/mutations/update-app-config.ee.js b/packages/backend/src/graphql/mutations/update-app-config.ee.js new file mode 100644 index 00000000..ce95cc5d --- /dev/null +++ b/packages/backend/src/graphql/mutations/update-app-config.ee.js @@ -0,0 +1,15 @@ +import AppConfig from '../../models/app-config'; + +const updateAppConfig = async (_parent, params, context) => { + context.currentUser.can('update', 'App'); + + const { id, ...appConfigToUpdate } = params.input; + + const appConfig = await AppConfig.query().findById(id).throwIfNotFound(); + + await appConfig.$query().patch(appConfigToUpdate); + + return appConfig; +}; + +export default updateAppConfig; diff --git a/packages/backend/src/graphql/mutations/update-app-config.ee.ts b/packages/backend/src/graphql/mutations/update-app-config.ee.ts deleted file mode 100644 index c20a9168..00000000 --- a/packages/backend/src/graphql/mutations/update-app-config.ee.ts +++ /dev/null @@ -1,39 +0,0 @@ -import AppConfig from '../../models/app-config'; -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - allowCustomConnection?: boolean; - shared?: boolean; - disabled?: boolean; - }; -}; - -const updateAppConfig = async ( - _parent: unknown, - params: Params, - context: Context -) => { - context.currentUser.can('update', 'App'); - - const { - id, - ...appConfigToUpdate - } = params.input; - - const appConfig = await AppConfig - .query() - .findById(id) - .throwIfNotFound(); - - await appConfig - .$query() - .patch( - appConfigToUpdate - ); - - return appConfig; -}; - -export default updateAppConfig; diff --git a/packages/backend/src/graphql/mutations/update-config.ee.ts b/packages/backend/src/graphql/mutations/update-config.ee.js similarity index 74% rename from packages/backend/src/graphql/mutations/update-config.ee.ts rename to packages/backend/src/graphql/mutations/update-config.ee.js index 615d14c4..02371f89 100644 --- a/packages/backend/src/graphql/mutations/update-config.ee.ts +++ b/packages/backend/src/graphql/mutations/update-config.ee.js @@ -1,18 +1,6 @@ -import type { IJSONValue } from '@automatisch/types'; import Config from '../../models/config'; -import Context from '../../types/express/context'; -type Params = { - input: { - [index: string]: IJSONValue; - }; -}; - -const updateConfig = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateConfig = async (_parent, params, context) => { context.currentUser.can('update', 'Config'); const config = params.input; diff --git a/packages/backend/src/graphql/mutations/update-connection.ts b/packages/backend/src/graphql/mutations/update-connection.js similarity index 65% rename from packages/backend/src/graphql/mutations/update-connection.ts rename to packages/backend/src/graphql/mutations/update-connection.js index d72651d2..49e81f05 100644 --- a/packages/backend/src/graphql/mutations/update-connection.ts +++ b/packages/backend/src/graphql/mutations/update-connection.js @@ -1,20 +1,6 @@ -import { IJSONObject } from '@automatisch/types'; -import Context from '../../types/express/context'; import AppAuthClient from '../../models/app-auth-client'; -type Params = { - input: { - id: string; - formattedData?: IJSONObject; - appAuthClientId?: string; - }; -}; - -const updateConnection = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateConnection = async (_parent, params, context) => { context.currentUser.can('create', 'Connection'); let connection = await context.currentUser @@ -27,8 +13,7 @@ const updateConnection = async ( let formattedData = params.input.formattedData; if (params.input.appAuthClientId) { - const appAuthClient = await AppAuthClient - .query() + const appAuthClient = await AppAuthClient.query() .findById(params.input.appAuthClientId) .throwIfNotFound(); diff --git a/packages/backend/src/graphql/mutations/update-current-user.js b/packages/backend/src/graphql/mutations/update-current-user.js new file mode 100644 index 00000000..187d78c9 --- /dev/null +++ b/packages/backend/src/graphql/mutations/update-current-user.js @@ -0,0 +1,11 @@ +const updateCurrentUser = async (_parent, params, context) => { + const user = await context.currentUser.$query().patchAndFetch({ + email: params.input.email, + password: params.input.password, + fullName: params.input.fullName, + }); + + return user; +}; + +export default updateCurrentUser; diff --git a/packages/backend/src/graphql/mutations/update-current-user.ts b/packages/backend/src/graphql/mutations/update-current-user.ts deleted file mode 100644 index 8235f062..00000000 --- a/packages/backend/src/graphql/mutations/update-current-user.ts +++ /dev/null @@ -1,25 +0,0 @@ -import Context from '../../types/express/context'; - -type Params = { - input: { - email: string; - password: string; - fullName: string; - }; -}; - -const updateCurrentUser = async ( - _parent: unknown, - params: Params, - context: Context -) => { - const user = await context.currentUser.$query().patchAndFetch({ - email: params.input.email, - password: params.input.password, - fullName: params.input.fullName, - }); - - return user; -}; - -export default updateCurrentUser; diff --git a/packages/backend/src/graphql/mutations/update-flow-status.ts b/packages/backend/src/graphql/mutations/update-flow-status.js similarity index 79% rename from packages/backend/src/graphql/mutations/update-flow-status.ts rename to packages/backend/src/graphql/mutations/update-flow-status.js index 0af63517..f94fca0b 100644 --- a/packages/backend/src/graphql/mutations/update-flow-status.ts +++ b/packages/backend/src/graphql/mutations/update-flow-status.js @@ -1,24 +1,15 @@ import Flow from '../../models/flow'; -import Context from '../../types/express/context'; import flowQueue from '../../queues/flow'; -import { REMOVE_AFTER_30_DAYS_OR_150_JOBS, REMOVE_AFTER_7_DAYS_OR_50_JOBS } from '../../helpers/remove-job-configuration'; +import { + REMOVE_AFTER_30_DAYS_OR_150_JOBS, + REMOVE_AFTER_7_DAYS_OR_50_JOBS, +} from '../../helpers/remove-job-configuration'; import globalVariable from '../../helpers/global-variable'; -type Params = { - input: { - id: string; - active: boolean; - }; -}; - const JOB_NAME = 'flow'; const EVERY_15_MINUTES_CRON = '*/15 * * * *'; -const updateFlowStatus = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateFlowStatus = async (_parent, params, context) => { const conditions = context.currentUser.can('publish', 'Flow'); const isCreator = conditions.isCreator; const allFlows = Flow.query(); @@ -74,7 +65,7 @@ const updateFlowStatus = async ( repeat: repeatOptions, jobId: flow.id, removeOnComplete: REMOVE_AFTER_7_DAYS_OR_50_JOBS, - removeOnFail: REMOVE_AFTER_30_DAYS_OR_150_JOBS + removeOnFail: REMOVE_AFTER_30_DAYS_OR_150_JOBS, } ); } else { @@ -85,12 +76,9 @@ const updateFlowStatus = async ( } } - flow = await flow - .$query() - .withGraphFetched('steps') - .patchAndFetch({ - active: newActiveValue, - }); + flow = await flow.$query().withGraphFetched('steps').patchAndFetch({ + active: newActiveValue, + }); return flow; }; diff --git a/packages/backend/src/graphql/mutations/update-flow.ts b/packages/backend/src/graphql/mutations/update-flow.js similarity index 59% rename from packages/backend/src/graphql/mutations/update-flow.ts rename to packages/backend/src/graphql/mutations/update-flow.js index 01134c5e..e8e21ef9 100644 --- a/packages/backend/src/graphql/mutations/update-flow.ts +++ b/packages/backend/src/graphql/mutations/update-flow.js @@ -1,17 +1,4 @@ -import Context from '../../types/express/context'; - -type Params = { - input: { - id: string; - name: string; - }; -}; - -const updateFlow = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateFlow = async (_parent, params, context) => { context.currentUser.can('update', 'Flow'); let flow = await context.currentUser diff --git a/packages/backend/src/graphql/mutations/update-role.ee.ts b/packages/backend/src/graphql/mutations/update-role.ee.js similarity index 50% rename from packages/backend/src/graphql/mutations/update-role.ee.ts rename to packages/backend/src/graphql/mutations/update-role.ee.js index 5acd13a6..5d00456a 100644 --- a/packages/backend/src/graphql/mutations/update-role.ee.ts +++ b/packages/backend/src/graphql/mutations/update-role.ee.js @@ -1,35 +1,13 @@ -import Context from '../../types/express/context'; import Role from '../../models/role'; import Permission from '../../models/permission'; import permissionCatalog from '../../helpers/permission-catalog.ee'; -type Params = { - input: { - id: string; - name: string; - description: string; - permissions: Permission[]; - }; -}; - -const updateRole = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateRole = async (_parent, params, context) => { context.currentUser.can('update', 'Role'); - const { - id, - name, - description, - permissions, - } = params.input; + const { id, name, description, permissions } = params.input; - const role = await Role - .query() - .findById(id) - .throwIfNotFound(); + const role = await Role.query().findById(id).throwIfNotFound(); try { const updatedRole = await Role.transaction(async (trx) => { @@ -38,19 +16,17 @@ const updateRole = async ( if (permissions?.length) { const sanitizedPermissions = permissions .filter((permission) => { - const { - action, - subject, - conditions, - } = permission; + const { action, subject, conditions } = permission; - const relevantAction = permissionCatalog.actions.find(actionCatalogItem => actionCatalogItem.key === action); + const relevantAction = permissionCatalog.actions.find( + (actionCatalogItem) => actionCatalogItem.key === action + ); const validSubject = relevantAction.subjects.includes(subject); - const validConditions = conditions.every(condition => { - return !!permissionCatalog - .conditions - .find((conditionCatalogItem) => conditionCatalogItem.key === condition); - }) + const validConditions = conditions.every((condition) => { + return !!permissionCatalog.conditions.find( + (conditionCatalogItem) => conditionCatalogItem.key === condition + ); + }); return validSubject && validConditions; }) @@ -62,22 +38,17 @@ const updateRole = async ( await Permission.query().insert(sanitizedPermissions); } - await role - .$query(trx) - .patch( - { - name, - description, - } - ); + await role.$query(trx).patch({ + name, + description, + }); - return await Role - .query(trx) + return await Role.query(trx) .leftJoinRelated({ - permissions: true + permissions: true, }) .withGraphFetched({ - permissions: true + permissions: true, }) .findById(id); }); diff --git a/packages/backend/src/graphql/mutations/update-step.ts b/packages/backend/src/graphql/mutations/update-step.js similarity index 74% rename from packages/backend/src/graphql/mutations/update-step.ts rename to packages/backend/src/graphql/mutations/update-step.js index 5bc56eea..061ffebf 100644 --- a/packages/backend/src/graphql/mutations/update-step.ts +++ b/packages/backend/src/graphql/mutations/update-step.js @@ -1,29 +1,8 @@ -import { IJSONObject } from '@automatisch/types'; import App from '../../models/app'; import Step from '../../models/step'; import Connection from '../../models/connection'; -import Context from '../../types/express/context'; -type Params = { - input: { - id: string; - key: string; - appKey: string; - parameters: IJSONObject; - flow: { - id: string; - }; - connection: { - id: string; - }; - }; -}; - -const updateStep = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateStep = async (_parent, params, context) => { const { isCreator } = context.currentUser.can('update', 'Flow'); const userSteps = context.currentUser.$relatedQuery('steps'); const allSteps = Step.query(); @@ -50,11 +29,13 @@ const updateStep = async ( const userConnections = context.currentUser.$relatedQuery('connections'); const allConnections = Connection.query(); - const baseConnectionsQuery = canSeeAllConnections ? allConnections : userConnections; + const baseConnectionsQuery = canSeeAllConnections + ? allConnections + : userConnections; const connection = await baseConnectionsQuery .clone() - .findById(input.connection?.id) + .findById(input.connection?.id); if (!connection) { throw new Error('The connection does not exist!'); diff --git a/packages/backend/src/graphql/mutations/update-user.ee.ts b/packages/backend/src/graphql/mutations/update-user.ee.js similarity index 58% rename from packages/backend/src/graphql/mutations/update-user.ee.ts rename to packages/backend/src/graphql/mutations/update-user.ee.js index 54b4cf0b..a2417a7c 100644 --- a/packages/backend/src/graphql/mutations/update-user.ee.ts +++ b/packages/backend/src/graphql/mutations/update-user.ee.js @@ -1,25 +1,9 @@ -import Context from '../../types/express/context'; import User from '../../models/user'; -type Params = { - input: { - id: string; - email: string; - fullName: string; - role: { - id: string; - }; - }; -}; - -const updateUser = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const updateUser = async (_parent, params, context) => { context.currentUser.can('update', 'User'); - const userPayload: Partial = { + const userPayload = { email: params.input.email, fullName: params.input.fullName, }; diff --git a/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.js b/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.js new file mode 100644 index 00000000..0d2b3a69 --- /dev/null +++ b/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.js @@ -0,0 +1,30 @@ +import SamlAuthProvider from '../../models/saml-auth-provider.ee'; + +const upsertSamlAuthProvider = async (_parent, params, context) => { + context.currentUser.can('create', 'SamlAuthProvider'); + + const samlAuthProviderPayload = { + ...params.input, + }; + + const existingSamlAuthProvider = await SamlAuthProvider.query() + .limit(1) + .first(); + + if (!existingSamlAuthProvider) { + const samlAuthProvider = await SamlAuthProvider.query().insert( + samlAuthProviderPayload + ); + + return samlAuthProvider; + } + + const samlAuthProvider = await SamlAuthProvider.query().patchAndFetchById( + existingSamlAuthProvider.id, + samlAuthProviderPayload + ); + + return samlAuthProvider; +}; + +export default upsertSamlAuthProvider; diff --git a/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.ts b/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.ts deleted file mode 100644 index 09dfc61f..00000000 --- a/packages/backend/src/graphql/mutations/upsert-saml-auth-provider.ee.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { SamlConfig } from '@node-saml/passport-saml'; -import SamlAuthProvider from '../../models/saml-auth-provider.ee'; -import Context from '../../types/express/context'; - -type Params = { - input: { - name: string; - certificate: string; - signatureAlgorithm: SamlConfig['signatureAlgorithm']; - issuer: string; - entryPoint: string; - firstnameAttributeName: string; - surnameAttributeName: string; - emailAttributeName: string; - roleAttributeName: string; - defaultRoleId: string; - active: boolean; - }; -}; - -const upsertSamlAuthProvider = async ( - _parent: unknown, - params: Params, - context: Context -) => { - context.currentUser.can('create', 'SamlAuthProvider'); - - const samlAuthProviderPayload: Partial = { - ...params.input, - }; - - const existingSamlAuthProvider = await SamlAuthProvider.query() - .limit(1) - .first(); - - if (!existingSamlAuthProvider) { - const samlAuthProvider = await SamlAuthProvider.query().insert( - samlAuthProviderPayload - ); - - return samlAuthProvider; - } - - const samlAuthProvider = await SamlAuthProvider.query().patchAndFetchById( - existingSamlAuthProvider.id, - samlAuthProviderPayload - ); - - return samlAuthProvider; -}; - -export default upsertSamlAuthProvider; diff --git a/packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.ts b/packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.js similarity index 79% rename from packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.ts rename to packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.js index 966824b4..18030dda 100644 --- a/packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.ts +++ b/packages/backend/src/graphql/mutations/upsert-saml-auth-providers-role-mappings.ee.js @@ -1,24 +1,11 @@ import SamlAuthProvider from '../../models/saml-auth-provider.ee'; import SamlAuthProvidersRoleMapping from '../../models/saml-auth-providers-role-mapping.ee'; -import Context from '../../types/express/context'; import isEmpty from 'lodash/isEmpty'; -type Params = { - input: { - samlAuthProviderId: string; - samlAuthProvidersRoleMappings: [ - { - roleId: string; - remoteRoleName: string; - } - ]; - }; -}; - const upsertSamlAuthProvidersRoleMappings = async ( - _parent: unknown, - params: Params, - context: Context + _parent, + params, + context ) => { context.currentUser.can('update', 'SamlAuthProvider'); diff --git a/packages/backend/src/graphql/mutations/verify-connection.ts b/packages/backend/src/graphql/mutations/verify-connection.js similarity index 76% rename from packages/backend/src/graphql/mutations/verify-connection.ts rename to packages/backend/src/graphql/mutations/verify-connection.js index 2acb414d..f15e1844 100644 --- a/packages/backend/src/graphql/mutations/verify-connection.ts +++ b/packages/backend/src/graphql/mutations/verify-connection.js @@ -1,18 +1,7 @@ -import Context from '../../types/express/context'; import App from '../../models/app'; import globalVariable from '../../helpers/global-variable'; -type Params = { - input: { - id: string; - }; -}; - -const verifyConnection = async ( - _parent: unknown, - params: Params, - context: Context -) => { +const verifyConnection = async (_parent, params, context) => { context.currentUser.can('create', 'Connection'); let connection = await context.currentUser