diff --git a/packages/backend/src/graphql/queries/get-dynamic-fields.js b/packages/backend/src/graphql/queries/get-dynamic-fields.js
deleted file mode 100644
index 2d7d18db..00000000
--- a/packages/backend/src/graphql/queries/get-dynamic-fields.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import App from '../../models/app.js';
-import Step from '../../models/step.js';
-import globalVariable from '../../helpers/global-variable.js';
-
-const getDynamicFields = async (_parent, params, context) => {
- const conditions = context.currentUser.can('update', 'Flow');
- const userSteps = context.currentUser.$relatedQuery('steps');
- const allSteps = Step.query();
- const stepBaseQuery = conditions.isCreator ? userSteps : allSteps;
-
- const step = await stepBaseQuery
- .clone()
- .withGraphFetched({
- connection: true,
- flow: true,
- })
- .findById(params.stepId);
-
- if (!step) return null;
-
- const connection = step.connection;
-
- if (!step.appKey) return null;
-
- const app = await App.findOneByKey(step.appKey);
- const $ = await globalVariable({ connection, app, flow: step.flow, step });
-
- const command = app.dynamicFields.find((data) => data.key === params.key);
-
- for (const parameterKey in params.parameters) {
- const parameterValue = params.parameters[parameterKey];
- $.step.parameters[parameterKey] = parameterValue;
- }
-
- const additionalFields = (await command.run($)) || [];
-
- return additionalFields;
-};
-
-export default getDynamicFields;
diff --git a/packages/backend/src/graphql/query-resolvers.js b/packages/backend/src/graphql/query-resolvers.js
index 55671f69..d7941d9c 100644
--- a/packages/backend/src/graphql/query-resolvers.js
+++ b/packages/backend/src/graphql/query-resolvers.js
@@ -4,7 +4,6 @@ import getAppAuthClients from './queries/get-app-auth-clients.ee.js';
import getBillingAndUsage from './queries/get-billing-and-usage.ee.js';
import getConnectedApps from './queries/get-connected-apps.js';
import getDynamicData from './queries/get-dynamic-data.js';
-import getDynamicFields from './queries/get-dynamic-fields.js';
import getFlow from './queries/get-flow.js';
import getStepWithTestExecutions from './queries/get-step-with-test-executions.js';
import testConnection from './queries/test-connection.js';
@@ -16,7 +15,6 @@ const queryResolvers = {
getBillingAndUsage,
getConnectedApps,
getDynamicData,
- getDynamicFields,
getFlow,
getStepWithTestExecutions,
testConnection,
diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql
index 9f90abf5..356df968 100644
--- a/packages/backend/src/graphql/schema.graphql
+++ b/packages/backend/src/graphql/schema.graphql
@@ -11,11 +11,6 @@ type Query {
key: String!
parameters: JSONObject
): JSONObject
- getDynamicFields(
- stepId: String!
- key: String!
- parameters: JSONObject
- ): [SubstepArgument]
getBillingAndUsage: GetBillingAndUsage
}
diff --git a/packages/web/src/components/InputCreator/index.jsx b/packages/web/src/components/InputCreator/index.jsx
index 158593f2..484b5ed5 100644
--- a/packages/web/src/components/InputCreator/index.jsx
+++ b/packages/web/src/components/InputCreator/index.jsx
@@ -1,6 +1,7 @@
import * as React from 'react';
import MuiTextField from '@mui/material/TextField';
import CircularProgress from '@mui/material/CircularProgress';
+
import useDynamicFields from 'hooks/useDynamicFields';
import useDynamicData from 'hooks/useDynamicData';
import PowerInput from 'components/PowerInput';
@@ -8,8 +9,10 @@ import TextField from 'components/TextField';
import ControlledAutocomplete from 'components/ControlledAutocomplete';
import ControlledCustomAutocomplete from 'components/ControlledCustomAutocomplete';
import DynamicField from 'components/DynamicField';
+
const optionGenerator = (options) =>
options?.map(({ name, value }) => ({ label: name, value: value }));
+
export default function InputCreator(props) {
const {
onChange,
@@ -31,9 +34,12 @@ export default function InputCreator(props) {
type,
} = schema;
const { data, loading } = useDynamicData(stepId, schema);
- const { data: additionalFields, loading: additionalFieldsLoading } =
+ const { data: additionalFieldsData, isLoading: isDynamicFieldsLoading } =
useDynamicFields(stepId, schema);
+ const additionalFields = additionalFieldsData?.data;
+
const computedName = namePrefix ? `${namePrefix}.${name}` : name;
+
if (type === 'dynamic') {
return (