From d2b8d2befffb5711caae3fb666be254f222ac47a Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 10 Nov 2022 19:46:04 +0100 Subject: [PATCH] refactor: Use getDynamicData instead of getData --- .../actions/send-message-to-channel/index.ts | 2 +- .../apps/discord/{data => dynamic-data}/index.ts | 0 .../{data => dynamic-data}/list-channels/index.ts | 0 packages/backend/src/apps/discord/index.ts | 4 ++-- .../apps/flickr/{data => dynamic-data}/index.ts | 0 .../{data => dynamic-data}/list-albums/index.ts | 0 packages/backend/src/apps/flickr/index.ts | 4 ++-- .../flickr/triggers/new-photos-in-album/index.ts | 2 +- .../src/apps/github/actions/create-issue/index.ts | 2 +- .../apps/github/{data => dynamic-data}/index.ts | 0 .../{data => dynamic-data}/list-labels/index.ts | 0 .../{data => dynamic-data}/list-repos/index.ts | 0 packages/backend/src/apps/github/index.ts | 4 ++-- .../src/apps/github/triggers/new-issues/index.ts | 4 ++-- .../github/triggers/new-pull-requests/index.ts | 2 +- .../apps/github/triggers/new-stargazers/index.ts | 2 +- .../src/apps/github/triggers/new-watchers/index.ts | 2 +- .../salesforce/{data => dynamic-data}/index.ts | 0 .../{data => dynamic-data}/list-fields/index.ts | 0 .../{data => dynamic-data}/list-objects/index.ts | 0 packages/backend/src/apps/salesforce/index.ts | 4 ++-- .../triggers/updated-field-in-records/index.ts | 4 ++-- .../actions/send-a-message-to-channel/index.ts | 2 +- .../src/apps/slack/{data => dynamic-data}/index.ts | 0 .../{data => dynamic-data}/list-channels/index.ts | 0 packages/backend/src/apps/slack/index.ts | 4 ++-- .../queries/{get-data.ts => get-dynamic-data.ts} | 14 ++++++++++---- packages/backend/src/graphql/query-resolvers.ts | 4 ++-- packages/backend/src/graphql/schema.graphql | 6 +++++- packages/types/index.d.ts | 4 ++-- packages/web/src/graphql/queries/get-data.ts | 7 ------- .../web/src/graphql/queries/get-dynamic-data.ts | 11 +++++++++++ packages/web/src/hooks/useDynamicData.ts | 11 ++++++----- 33 files changed, 57 insertions(+), 42 deletions(-) rename packages/backend/src/apps/discord/{data => dynamic-data}/index.ts (100%) rename packages/backend/src/apps/discord/{data => dynamic-data}/list-channels/index.ts (100%) rename packages/backend/src/apps/flickr/{data => dynamic-data}/index.ts (100%) rename packages/backend/src/apps/flickr/{data => dynamic-data}/list-albums/index.ts (100%) rename packages/backend/src/apps/github/{data => dynamic-data}/index.ts (100%) rename packages/backend/src/apps/github/{data => dynamic-data}/list-labels/index.ts (100%) rename packages/backend/src/apps/github/{data => dynamic-data}/list-repos/index.ts (100%) rename packages/backend/src/apps/salesforce/{data => dynamic-data}/index.ts (100%) rename packages/backend/src/apps/salesforce/{data => dynamic-data}/list-fields/index.ts (100%) rename packages/backend/src/apps/salesforce/{data => dynamic-data}/list-objects/index.ts (100%) rename packages/backend/src/apps/slack/{data => dynamic-data}/index.ts (100%) rename packages/backend/src/apps/slack/{data => dynamic-data}/list-channels/index.ts (100%) rename packages/backend/src/graphql/queries/{get-data.ts => get-dynamic-data.ts} (77%) delete mode 100644 packages/web/src/graphql/queries/get-data.ts create mode 100644 packages/web/src/graphql/queries/get-dynamic-data.ts diff --git a/packages/backend/src/apps/discord/actions/send-message-to-channel/index.ts b/packages/backend/src/apps/discord/actions/send-message-to-channel/index.ts index 023ab17b..afebe42a 100644 --- a/packages/backend/src/apps/discord/actions/send-message-to-channel/index.ts +++ b/packages/backend/src/apps/discord/actions/send-message-to-channel/index.ts @@ -14,7 +14,7 @@ export default defineAction({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/discord/data/index.ts b/packages/backend/src/apps/discord/dynamic-data/index.ts similarity index 100% rename from packages/backend/src/apps/discord/data/index.ts rename to packages/backend/src/apps/discord/dynamic-data/index.ts diff --git a/packages/backend/src/apps/discord/data/list-channels/index.ts b/packages/backend/src/apps/discord/dynamic-data/list-channels/index.ts similarity index 100% rename from packages/backend/src/apps/discord/data/list-channels/index.ts rename to packages/backend/src/apps/discord/dynamic-data/list-channels/index.ts diff --git a/packages/backend/src/apps/discord/index.ts b/packages/backend/src/apps/discord/index.ts index 14af3a21..67c0294f 100644 --- a/packages/backend/src/apps/discord/index.ts +++ b/packages/backend/src/apps/discord/index.ts @@ -1,7 +1,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import auth from './auth'; -import data from './data'; +import dynamicData from './dynamic-data'; import actions from './actions'; import triggers from './triggers'; @@ -16,7 +16,7 @@ export default defineApp({ primaryColor: '5865f2', beforeRequest: [addAuthHeader], auth, - data, + dynamicData, triggers, actions, }); diff --git a/packages/backend/src/apps/flickr/data/index.ts b/packages/backend/src/apps/flickr/dynamic-data/index.ts similarity index 100% rename from packages/backend/src/apps/flickr/data/index.ts rename to packages/backend/src/apps/flickr/dynamic-data/index.ts diff --git a/packages/backend/src/apps/flickr/data/list-albums/index.ts b/packages/backend/src/apps/flickr/dynamic-data/list-albums/index.ts similarity index 100% rename from packages/backend/src/apps/flickr/data/list-albums/index.ts rename to packages/backend/src/apps/flickr/dynamic-data/list-albums/index.ts diff --git a/packages/backend/src/apps/flickr/index.ts b/packages/backend/src/apps/flickr/index.ts index db3b5c3d..44254ca0 100644 --- a/packages/backend/src/apps/flickr/index.ts +++ b/packages/backend/src/apps/flickr/index.ts @@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import auth from './auth'; import triggers from './triggers'; -import data from './data'; +import dynamicData from './dynamic-data'; export default defineApp({ name: 'Flickr', @@ -17,5 +17,5 @@ export default defineApp({ beforeRequest: [addAuthHeader], auth, triggers, - data, + dynamicData, }); diff --git a/packages/backend/src/apps/flickr/triggers/new-photos-in-album/index.ts b/packages/backend/src/apps/flickr/triggers/new-photos-in-album/index.ts index e5e3cd77..d3e7022b 100644 --- a/packages/backend/src/apps/flickr/triggers/new-photos-in-album/index.ts +++ b/packages/backend/src/apps/flickr/triggers/new-photos-in-album/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/github/actions/create-issue/index.ts b/packages/backend/src/apps/github/actions/create-issue/index.ts index cc62924c..923679a1 100644 --- a/packages/backend/src/apps/github/actions/create-issue/index.ts +++ b/packages/backend/src/apps/github/actions/create-issue/index.ts @@ -14,7 +14,7 @@ export default defineAction({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/github/data/index.ts b/packages/backend/src/apps/github/dynamic-data/index.ts similarity index 100% rename from packages/backend/src/apps/github/data/index.ts rename to packages/backend/src/apps/github/dynamic-data/index.ts diff --git a/packages/backend/src/apps/github/data/list-labels/index.ts b/packages/backend/src/apps/github/dynamic-data/list-labels/index.ts similarity index 100% rename from packages/backend/src/apps/github/data/list-labels/index.ts rename to packages/backend/src/apps/github/dynamic-data/list-labels/index.ts diff --git a/packages/backend/src/apps/github/data/list-repos/index.ts b/packages/backend/src/apps/github/dynamic-data/list-repos/index.ts similarity index 100% rename from packages/backend/src/apps/github/data/list-repos/index.ts rename to packages/backend/src/apps/github/dynamic-data/list-repos/index.ts diff --git a/packages/backend/src/apps/github/index.ts b/packages/backend/src/apps/github/index.ts index 65c61b93..ab944a67 100644 --- a/packages/backend/src/apps/github/index.ts +++ b/packages/backend/src/apps/github/index.ts @@ -3,7 +3,7 @@ import addAuthHeader from './common/add-auth-header'; import auth from './auth'; import triggers from './triggers'; import actions from './actions'; -import data from './data'; +import dynamicData from './dynamic-data'; export default defineApp({ name: 'Github', @@ -18,5 +18,5 @@ export default defineApp({ auth, triggers, actions, - data, + dynamicData, }); diff --git a/packages/backend/src/apps/github/triggers/new-issues/index.ts b/packages/backend/src/apps/github/triggers/new-issues/index.ts index 81d4a8f8..ce1356e2 100644 --- a/packages/backend/src/apps/github/triggers/new-issues/index.ts +++ b/packages/backend/src/apps/github/triggers/new-issues/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', @@ -65,7 +65,7 @@ export default defineTrigger({ dependsOn: ['parameters.repo'], source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/github/triggers/new-pull-requests/index.ts b/packages/backend/src/apps/github/triggers/new-pull-requests/index.ts index 57236c87..212023aa 100644 --- a/packages/backend/src/apps/github/triggers/new-pull-requests/index.ts +++ b/packages/backend/src/apps/github/triggers/new-pull-requests/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/github/triggers/new-stargazers/index.ts b/packages/backend/src/apps/github/triggers/new-stargazers/index.ts index 4417f9bc..3ca2882b 100644 --- a/packages/backend/src/apps/github/triggers/new-stargazers/index.ts +++ b/packages/backend/src/apps/github/triggers/new-stargazers/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/github/triggers/new-watchers/index.ts b/packages/backend/src/apps/github/triggers/new-watchers/index.ts index f937b18c..89a6a583 100644 --- a/packages/backend/src/apps/github/triggers/new-watchers/index.ts +++ b/packages/backend/src/apps/github/triggers/new-watchers/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/salesforce/data/index.ts b/packages/backend/src/apps/salesforce/dynamic-data/index.ts similarity index 100% rename from packages/backend/src/apps/salesforce/data/index.ts rename to packages/backend/src/apps/salesforce/dynamic-data/index.ts diff --git a/packages/backend/src/apps/salesforce/data/list-fields/index.ts b/packages/backend/src/apps/salesforce/dynamic-data/list-fields/index.ts similarity index 100% rename from packages/backend/src/apps/salesforce/data/list-fields/index.ts rename to packages/backend/src/apps/salesforce/dynamic-data/list-fields/index.ts diff --git a/packages/backend/src/apps/salesforce/data/list-objects/index.ts b/packages/backend/src/apps/salesforce/dynamic-data/list-objects/index.ts similarity index 100% rename from packages/backend/src/apps/salesforce/data/list-objects/index.ts rename to packages/backend/src/apps/salesforce/dynamic-data/list-objects/index.ts diff --git a/packages/backend/src/apps/salesforce/index.ts b/packages/backend/src/apps/salesforce/index.ts index 079f743e..dd394f12 100644 --- a/packages/backend/src/apps/salesforce/index.ts +++ b/packages/backend/src/apps/salesforce/index.ts @@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import auth from './auth'; import triggers from './triggers'; -import data from './data'; +import dynamicData from './dynamic-data'; export default defineApp({ name: 'Salesforce', @@ -16,5 +16,5 @@ export default defineApp({ beforeRequest: [addAuthHeader], auth, triggers, - data, + dynamicData, }); diff --git a/packages/backend/src/apps/salesforce/triggers/updated-field-in-records/index.ts b/packages/backend/src/apps/salesforce/triggers/updated-field-in-records/index.ts index 71d5984d..112839ef 100644 --- a/packages/backend/src/apps/salesforce/triggers/updated-field-in-records/index.ts +++ b/packages/backend/src/apps/salesforce/triggers/updated-field-in-records/index.ts @@ -15,7 +15,7 @@ export default defineTrigger({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', @@ -34,7 +34,7 @@ export default defineTrigger({ dependsOn: ['parameters.object'], source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/slack/actions/send-a-message-to-channel/index.ts b/packages/backend/src/apps/slack/actions/send-a-message-to-channel/index.ts index 969ecac8..7403527c 100644 --- a/packages/backend/src/apps/slack/actions/send-a-message-to-channel/index.ts +++ b/packages/backend/src/apps/slack/actions/send-a-message-to-channel/index.ts @@ -15,7 +15,7 @@ export default defineAction({ variables: false, source: { type: 'query', - name: 'getData', + name: 'getDynamicData', arguments: [ { name: 'key', diff --git a/packages/backend/src/apps/slack/data/index.ts b/packages/backend/src/apps/slack/dynamic-data/index.ts similarity index 100% rename from packages/backend/src/apps/slack/data/index.ts rename to packages/backend/src/apps/slack/dynamic-data/index.ts diff --git a/packages/backend/src/apps/slack/data/list-channels/index.ts b/packages/backend/src/apps/slack/dynamic-data/list-channels/index.ts similarity index 100% rename from packages/backend/src/apps/slack/data/list-channels/index.ts rename to packages/backend/src/apps/slack/dynamic-data/list-channels/index.ts diff --git a/packages/backend/src/apps/slack/index.ts b/packages/backend/src/apps/slack/index.ts index b94f4bb0..9869e5ea 100644 --- a/packages/backend/src/apps/slack/index.ts +++ b/packages/backend/src/apps/slack/index.ts @@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app'; import addAuthHeader from './common/add-auth-header'; import actions from './actions'; import auth from './auth'; -import data from './data'; +import dynamicData from './dynamic-data'; export default defineApp({ name: 'Slack', @@ -16,5 +16,5 @@ export default defineApp({ beforeRequest: [addAuthHeader], auth, actions, - data, + dynamicData, }); diff --git a/packages/backend/src/graphql/queries/get-data.ts b/packages/backend/src/graphql/queries/get-dynamic-data.ts similarity index 77% rename from packages/backend/src/graphql/queries/get-data.ts rename to packages/backend/src/graphql/queries/get-dynamic-data.ts index 3a644623..1ea74a91 100644 --- a/packages/backend/src/graphql/queries/get-data.ts +++ b/packages/backend/src/graphql/queries/get-dynamic-data.ts @@ -1,4 +1,4 @@ -import { IData, IJSONObject } from '@automatisch/types'; +import { IDynamicData, IJSONObject } from '@automatisch/types'; import Context from '../../types/express/context'; import App from '../../models/app'; import globalVariable from '../../helpers/global-variable'; @@ -9,7 +9,11 @@ type Params = { parameters: IJSONObject; }; -const getData = async (_parent: unknown, params: Params, context: Context) => { +const getDynamicData = async ( + _parent: unknown, + params: Params, + context: Context +) => { const step = await context.currentUser .$relatedQuery('steps') .withGraphFetched({ @@ -27,7 +31,9 @@ const getData = async (_parent: unknown, params: Params, context: Context) => { const app = await App.findOneByKey(step.appKey); const $ = await globalVariable({ connection, app, flow: step.flow, step }); - const command = app.data.find((data: IData) => data.key === params.key); + const command = app.dynamicData.find( + (data: IDynamicData) => data.key === params.key + ); for (const parameterKey in params.parameters) { const parameterValue = params.parameters[parameterKey]; @@ -43,4 +49,4 @@ const getData = async (_parent: unknown, params: Params, context: Context) => { return fetchedData.data; }; -export default getData; +export default getDynamicData; diff --git a/packages/backend/src/graphql/query-resolvers.ts b/packages/backend/src/graphql/query-resolvers.ts index e7391ae9..9e4f6489 100644 --- a/packages/backend/src/graphql/query-resolvers.ts +++ b/packages/backend/src/graphql/query-resolvers.ts @@ -8,7 +8,7 @@ import getStepWithTestExecutions from './queries/get-step-with-test-executions'; import getExecution from './queries/get-execution'; import getExecutions from './queries/get-executions'; import getExecutionSteps from './queries/get-execution-steps'; -import getData from './queries/get-data'; +import getDynamicData from './queries/get-dynamic-data'; import getCurrentUser from './queries/get-current-user'; import healthcheck from './queries/healthcheck'; @@ -23,7 +23,7 @@ const queryResolvers = { getExecution, getExecutions, getExecutionSteps, - getData, + getDynamicData, getCurrentUser, healthcheck, }; diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql index 147aa17b..bd0c39b9 100644 --- a/packages/backend/src/graphql/schema.graphql +++ b/packages/backend/src/graphql/schema.graphql @@ -23,7 +23,11 @@ type Query { limit: Int! offset: Int! ): ExecutionStepConnection - getData(stepId: String!, key: String!, parameters: JSONObject): JSONObject + getDynamicData( + stepId: String! + key: String! + parameters: JSONObject + ): JSONObject getCurrentUser: User healthcheck: AppHealth } diff --git a/packages/types/index.d.ts b/packages/types/index.d.ts index a74d0f88..1edc8889 100644 --- a/packages/types/index.d.ts +++ b/packages/types/index.d.ts @@ -163,7 +163,7 @@ export interface IApp { connectionCount?: number; flowCount?: number; beforeRequest?: TBeforeRequest[]; - data?: IData; + dynamicData?: IDynamicData; triggers?: ITrigger[]; actions?: IAction[]; connections?: IConnection[]; @@ -173,7 +173,7 @@ export type TBeforeRequest = { ($: IGlobalVariable, requestConfig: AxiosRequestConfig): AxiosRequestConfig; }; -export interface IData { +export interface IDynamicData { [index: string]: any; } diff --git a/packages/web/src/graphql/queries/get-data.ts b/packages/web/src/graphql/queries/get-data.ts deleted file mode 100644 index 4e2b27db..00000000 --- a/packages/web/src/graphql/queries/get-data.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { gql } from '@apollo/client'; - -export const GET_DATA = gql` - query GetData($stepId: String!, $key: String!, $parameters: JSONObject) { - getData(stepId: $stepId, key: $key, parameters: $parameters) - } -`; diff --git a/packages/web/src/graphql/queries/get-dynamic-data.ts b/packages/web/src/graphql/queries/get-dynamic-data.ts new file mode 100644 index 00000000..d3a4715f --- /dev/null +++ b/packages/web/src/graphql/queries/get-dynamic-data.ts @@ -0,0 +1,11 @@ +import { gql } from '@apollo/client'; + +export const GET_DYNAMIC_DATA = gql` + query GetDynamicData( + $stepId: String! + $key: String! + $parameters: JSONObject + ) { + getDynamicData(stepId: $stepId, key: $key, parameters: $parameters) + } +`; diff --git a/packages/web/src/hooks/useDynamicData.ts b/packages/web/src/hooks/useDynamicData.ts index 9bedf2fc..16151da4 100644 --- a/packages/web/src/hooks/useDynamicData.ts +++ b/packages/web/src/hooks/useDynamicData.ts @@ -10,7 +10,7 @@ import type { IJSONObject, } from '@automatisch/types'; -import { GET_DATA } from 'graphql/queries/get-data'; +import { GET_DYNAMIC_DATA } from 'graphql/queries/get-dynamic-data'; const variableRegExp = /({.*?})/g; @@ -49,7 +49,8 @@ function computeArguments( */ function useDynamicData(stepId: string | undefined, schema: IField) { const lastComputedVariables = React.useRef({}); - const [getData, { called, data, loading }] = useLazyQuery(GET_DATA); + const [getDynamicData, { called, data, loading }] = + useLazyQuery(GET_DYNAMIC_DATA); const { getValues } = useFormContext(); const formValues = getValues(); @@ -91,18 +92,18 @@ function useDynamicData(stepId: string | undefined, schema: IField) { schema.source && computedVariables ) { - getData({ + getDynamicData({ variables: { stepId, ...computedVariables, }, }); } - }, [getData, stepId, schema, computedVariables]); + }, [getDynamicData, stepId, schema, computedVariables]); return { called, - data: data?.getData, + data: data?.getDynamicData, loading, }; }