refactor: Use getDynamicData instead of getData

This commit is contained in:
Faruk AYDIN
2022-11-10 19:46:04 +01:00
parent a415c7ef4e
commit d2b8d2beff
33 changed files with 57 additions and 42 deletions

View File

@@ -14,7 +14,7 @@ export default defineAction({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -1,7 +1,7 @@
import defineApp from '../../helpers/define-app'; import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header'; import addAuthHeader from './common/add-auth-header';
import auth from './auth'; import auth from './auth';
import data from './data'; import dynamicData from './dynamic-data';
import actions from './actions'; import actions from './actions';
import triggers from './triggers'; import triggers from './triggers';
@@ -16,7 +16,7 @@ export default defineApp({
primaryColor: '5865f2', primaryColor: '5865f2',
beforeRequest: [addAuthHeader], beforeRequest: [addAuthHeader],
auth, auth,
data, dynamicData,
triggers, triggers,
actions, actions,
}); });

View File

@@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header'; import addAuthHeader from './common/add-auth-header';
import auth from './auth'; import auth from './auth';
import triggers from './triggers'; import triggers from './triggers';
import data from './data'; import dynamicData from './dynamic-data';
export default defineApp({ export default defineApp({
name: 'Flickr', name: 'Flickr',
@@ -17,5 +17,5 @@ export default defineApp({
beforeRequest: [addAuthHeader], beforeRequest: [addAuthHeader],
auth, auth,
triggers, triggers,
data, dynamicData,
}); });

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -14,7 +14,7 @@ export default defineAction({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -3,7 +3,7 @@ import addAuthHeader from './common/add-auth-header';
import auth from './auth'; import auth from './auth';
import triggers from './triggers'; import triggers from './triggers';
import actions from './actions'; import actions from './actions';
import data from './data'; import dynamicData from './dynamic-data';
export default defineApp({ export default defineApp({
name: 'Github', name: 'Github',
@@ -18,5 +18,5 @@ export default defineApp({
auth, auth,
triggers, triggers,
actions, actions,
data, dynamicData,
}); });

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',
@@ -65,7 +65,7 @@ export default defineTrigger({
dependsOn: ['parameters.repo'], dependsOn: ['parameters.repo'],
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header'; import addAuthHeader from './common/add-auth-header';
import auth from './auth'; import auth from './auth';
import triggers from './triggers'; import triggers from './triggers';
import data from './data'; import dynamicData from './dynamic-data';
export default defineApp({ export default defineApp({
name: 'Salesforce', name: 'Salesforce',
@@ -16,5 +16,5 @@ export default defineApp({
beforeRequest: [addAuthHeader], beforeRequest: [addAuthHeader],
auth, auth,
triggers, triggers,
data, dynamicData,
}); });

View File

@@ -15,7 +15,7 @@ export default defineTrigger({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',
@@ -34,7 +34,7 @@ export default defineTrigger({
dependsOn: ['parameters.object'], dependsOn: ['parameters.object'],
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -15,7 +15,7 @@ export default defineAction({
variables: false, variables: false,
source: { source: {
type: 'query', type: 'query',
name: 'getData', name: 'getDynamicData',
arguments: [ arguments: [
{ {
name: 'key', name: 'key',

View File

@@ -2,7 +2,7 @@ import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header'; import addAuthHeader from './common/add-auth-header';
import actions from './actions'; import actions from './actions';
import auth from './auth'; import auth from './auth';
import data from './data'; import dynamicData from './dynamic-data';
export default defineApp({ export default defineApp({
name: 'Slack', name: 'Slack',
@@ -16,5 +16,5 @@ export default defineApp({
beforeRequest: [addAuthHeader], beforeRequest: [addAuthHeader],
auth, auth,
actions, actions,
data, dynamicData,
}); });

View File

@@ -1,4 +1,4 @@
import { IData, IJSONObject } from '@automatisch/types'; import { IDynamicData, IJSONObject } from '@automatisch/types';
import Context from '../../types/express/context'; import Context from '../../types/express/context';
import App from '../../models/app'; import App from '../../models/app';
import globalVariable from '../../helpers/global-variable'; import globalVariable from '../../helpers/global-variable';
@@ -9,7 +9,11 @@ type Params = {
parameters: IJSONObject; 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 const step = await context.currentUser
.$relatedQuery('steps') .$relatedQuery('steps')
.withGraphFetched({ .withGraphFetched({
@@ -27,7 +31,9 @@ const getData = async (_parent: unknown, params: Params, context: Context) => {
const app = await App.findOneByKey(step.appKey); const app = await App.findOneByKey(step.appKey);
const $ = await globalVariable({ connection, app, flow: step.flow, step }); 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) { for (const parameterKey in params.parameters) {
const parameterValue = params.parameters[parameterKey]; const parameterValue = params.parameters[parameterKey];
@@ -43,4 +49,4 @@ const getData = async (_parent: unknown, params: Params, context: Context) => {
return fetchedData.data; return fetchedData.data;
}; };
export default getData; export default getDynamicData;

View File

@@ -8,7 +8,7 @@ import getStepWithTestExecutions from './queries/get-step-with-test-executions';
import getExecution from './queries/get-execution'; import getExecution from './queries/get-execution';
import getExecutions from './queries/get-executions'; import getExecutions from './queries/get-executions';
import getExecutionSteps from './queries/get-execution-steps'; 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 getCurrentUser from './queries/get-current-user';
import healthcheck from './queries/healthcheck'; import healthcheck from './queries/healthcheck';
@@ -23,7 +23,7 @@ const queryResolvers = {
getExecution, getExecution,
getExecutions, getExecutions,
getExecutionSteps, getExecutionSteps,
getData, getDynamicData,
getCurrentUser, getCurrentUser,
healthcheck, healthcheck,
}; };

View File

@@ -23,7 +23,11 @@ type Query {
limit: Int! limit: Int!
offset: Int! offset: Int!
): ExecutionStepConnection ): ExecutionStepConnection
getData(stepId: String!, key: String!, parameters: JSONObject): JSONObject getDynamicData(
stepId: String!
key: String!
parameters: JSONObject
): JSONObject
getCurrentUser: User getCurrentUser: User
healthcheck: AppHealth healthcheck: AppHealth
} }

View File

@@ -163,7 +163,7 @@ export interface IApp {
connectionCount?: number; connectionCount?: number;
flowCount?: number; flowCount?: number;
beforeRequest?: TBeforeRequest[]; beforeRequest?: TBeforeRequest[];
data?: IData; dynamicData?: IDynamicData;
triggers?: ITrigger[]; triggers?: ITrigger[];
actions?: IAction[]; actions?: IAction[];
connections?: IConnection[]; connections?: IConnection[];
@@ -173,7 +173,7 @@ export type TBeforeRequest = {
($: IGlobalVariable, requestConfig: AxiosRequestConfig): AxiosRequestConfig; ($: IGlobalVariable, requestConfig: AxiosRequestConfig): AxiosRequestConfig;
}; };
export interface IData { export interface IDynamicData {
[index: string]: any; [index: string]: any;
} }

View File

@@ -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)
}
`;

View File

@@ -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)
}
`;

View File

@@ -10,7 +10,7 @@ import type {
IJSONObject, IJSONObject,
} from '@automatisch/types'; } from '@automatisch/types';
import { GET_DATA } from 'graphql/queries/get-data'; import { GET_DYNAMIC_DATA } from 'graphql/queries/get-dynamic-data';
const variableRegExp = /({.*?})/g; const variableRegExp = /({.*?})/g;
@@ -49,7 +49,8 @@ function computeArguments(
*/ */
function useDynamicData(stepId: string | undefined, schema: IField) { function useDynamicData(stepId: string | undefined, schema: IField) {
const lastComputedVariables = React.useRef({}); 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 { getValues } = useFormContext();
const formValues = getValues(); const formValues = getValues();
@@ -91,18 +92,18 @@ function useDynamicData(stepId: string | undefined, schema: IField) {
schema.source && schema.source &&
computedVariables computedVariables
) { ) {
getData({ getDynamicData({
variables: { variables: {
stepId, stepId,
...computedVariables, ...computedVariables,
}, },
}); });
} }
}, [getData, stepId, schema, computedVariables]); }, [getDynamicData, stepId, schema, computedVariables]);
return { return {
called, called,
data: data?.getData, data: data?.getDynamicData,
loading, loading,
}; };
} }