Merge pull request #707 from automatisch/refactor/dynamic-data
refactor: Use getDynamicData instead of getData
This commit is contained in:
@@ -14,7 +14,7 @@ export default defineAction({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -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,
|
||||
});
|
||||
|
@@ -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,
|
||||
});
|
||||
|
@@ -15,7 +15,7 @@ export default defineTrigger({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -14,7 +14,7 @@ export default defineAction({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -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,
|
||||
});
|
||||
|
@@ -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',
|
||||
|
@@ -15,7 +15,7 @@ export default defineTrigger({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -15,7 +15,7 @@ export default defineTrigger({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -15,7 +15,7 @@ export default defineTrigger({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -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,
|
||||
});
|
||||
|
@@ -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',
|
||||
|
@@ -15,7 +15,7 @@ export default defineAction({
|
||||
variables: false,
|
||||
source: {
|
||||
type: 'query',
|
||||
name: 'getData',
|
||||
name: 'getDynamicData',
|
||||
arguments: [
|
||||
{
|
||||
name: 'key',
|
||||
|
@@ -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,
|
||||
});
|
||||
|
@@ -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;
|
@@ -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,
|
||||
};
|
||||
|
@@ -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
|
||||
}
|
||||
|
4
packages/types/index.d.ts
vendored
4
packages/types/index.d.ts
vendored
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
}
|
||||
`;
|
11
packages/web/src/graphql/queries/get-dynamic-data.ts
Normal file
11
packages/web/src/graphql/queries/get-dynamic-data.ts
Normal 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)
|
||||
}
|
||||
`;
|
@@ -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,
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user