@prismatic-io/spectral 8.0.0-preview7 → 8.0.0-preview8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +22 -1
- package/dist/index.js +25 -1
- package/dist/serverTypes/convert.js +111 -33
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +4 -4
- package/dist/types/IntegrationDefinition.d.ts +29 -36
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* authors create inputs, actions, and components that can
|
|
4
4
|
* be processed by the Prismatic API.
|
|
5
5
|
*/
|
|
6
|
-
import { ActionDefinition, InputFieldDefinition, ComponentDefinition, DefaultConnectionDefinition, OAuth2ConnectionDefinition, Inputs, TriggerDefinition, ActionPerformReturn, TriggerResult, DataSourceDefinition, IntegrationDefinition, Flow, ConfigPage } from "./types";
|
|
6
|
+
import { ActionDefinition, InputFieldDefinition, ComponentDefinition, DefaultConnectionDefinition, OAuth2ConnectionDefinition, Inputs, TriggerDefinition, ActionPerformReturn, TriggerResult, DataSourceDefinition, IntegrationDefinition, Flow, ConfigPage, StandardConfigVar, ConnectionConfigVar, ConnectionRefConfigVar } from "./types";
|
|
7
7
|
import { convertComponent, convertIntegration } from "./serverTypes/convert";
|
|
8
8
|
/**
|
|
9
9
|
* This function creates a Integration object that can be
|
|
@@ -28,6 +28,27 @@ export declare const flow: <T extends Flow>(definition: T) => T;
|
|
|
28
28
|
* @returns This function returns a config page object that has the shape the Prismatic API expects.
|
|
29
29
|
*/
|
|
30
30
|
export declare const configPage: <T extends ConfigPage>(definition: T) => T;
|
|
31
|
+
/**
|
|
32
|
+
* For information on writing Code Native Integrations, see
|
|
33
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
34
|
+
* @param definition A Config Var type object.
|
|
35
|
+
* @returns This function returns a standard config var object that has the shape the Prismatic API expects.
|
|
36
|
+
*/
|
|
37
|
+
export declare const configVar: <T extends StandardConfigVar>(definition: T) => T;
|
|
38
|
+
/**
|
|
39
|
+
* For information on writing Code Native Integrations, see
|
|
40
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
41
|
+
* @param definition A Connection Config Var type object.
|
|
42
|
+
* @returns This function returns a connection config var object that has the shape the Prismatic API expects.
|
|
43
|
+
*/
|
|
44
|
+
export declare const connectionConfigVar: <T extends ConnectionConfigVar>(definition: T) => T;
|
|
45
|
+
/**
|
|
46
|
+
* For information on writing Code Native Integrations, see
|
|
47
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
48
|
+
* @param definition A Connection Reference Config Var type object.
|
|
49
|
+
* @returns This function returns a connection reference config var object that has the shape the Prismatic API expects.
|
|
50
|
+
*/
|
|
51
|
+
export declare const connectionRefConfigVar: <T extends ConnectionRefConfigVar>(definition: T) => T;
|
|
31
52
|
/**
|
|
32
53
|
* This function creates a component object that can be
|
|
33
54
|
* imported into the Prismatic API. For information on using
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.testing = exports.util = exports.oauth2Connection = exports.connection = exports.input = exports.dataSource = exports.trigger = exports.action = exports.component = exports.configPage = exports.flow = exports.integration = void 0;
|
|
25
|
+
exports.testing = exports.util = exports.oauth2Connection = exports.connection = exports.input = exports.dataSource = exports.trigger = exports.action = exports.component = exports.connectionRefConfigVar = exports.connectionConfigVar = exports.configVar = exports.configPage = exports.flow = exports.integration = void 0;
|
|
26
26
|
const convert_1 = require("./serverTypes/convert");
|
|
27
27
|
/**
|
|
28
28
|
* This function creates a Integration object that can be
|
|
@@ -50,6 +50,30 @@ exports.flow = flow;
|
|
|
50
50
|
*/
|
|
51
51
|
const configPage = (definition) => definition;
|
|
52
52
|
exports.configPage = configPage;
|
|
53
|
+
/**
|
|
54
|
+
* For information on writing Code Native Integrations, see
|
|
55
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
56
|
+
* @param definition A Config Var type object.
|
|
57
|
+
* @returns This function returns a standard config var object that has the shape the Prismatic API expects.
|
|
58
|
+
*/
|
|
59
|
+
const configVar = (definition) => definition;
|
|
60
|
+
exports.configVar = configVar;
|
|
61
|
+
/**
|
|
62
|
+
* For information on writing Code Native Integrations, see
|
|
63
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
64
|
+
* @param definition A Connection Config Var type object.
|
|
65
|
+
* @returns This function returns a connection config var object that has the shape the Prismatic API expects.
|
|
66
|
+
*/
|
|
67
|
+
const connectionConfigVar = (definition) => definition;
|
|
68
|
+
exports.connectionConfigVar = connectionConfigVar;
|
|
69
|
+
/**
|
|
70
|
+
* For information on writing Code Native Integrations, see
|
|
71
|
+
* https://prismatic.io/docs/code-native-integrations/#adding-config-vars.
|
|
72
|
+
* @param definition A Connection Reference Config Var type object.
|
|
73
|
+
* @returns This function returns a connection reference config var object that has the shape the Prismatic API expects.
|
|
74
|
+
*/
|
|
75
|
+
const connectionRefConfigVar = (definition) => definition;
|
|
76
|
+
exports.connectionRefConfigVar = connectionRefConfigVar;
|
|
53
77
|
/**
|
|
54
78
|
* This function creates a component object that can be
|
|
55
79
|
* imported into the Prismatic API. For information on using
|
|
@@ -135,17 +135,22 @@ const codeNativeIntegrationYaml = ({ name, description, category, documentation,
|
|
|
135
135
|
/** Converts a Flow into the structure necessary for YAML generation. */
|
|
136
136
|
const convertFlow = (flow, referenceKey) => {
|
|
137
137
|
const result = Object.assign({}, flow);
|
|
138
|
+
delete result.onTrigger;
|
|
138
139
|
delete result.trigger;
|
|
139
|
-
delete result.
|
|
140
|
+
delete result.onInstanceDeploy;
|
|
141
|
+
delete result.onInstanceDelete;
|
|
142
|
+
delete result.onExecution;
|
|
140
143
|
delete result.preprocessFlowConfig;
|
|
144
|
+
delete result.errorConfig;
|
|
141
145
|
const triggerStep = {
|
|
142
|
-
name:
|
|
146
|
+
name: `${flow.name} - onTrigger`,
|
|
147
|
+
description: "The function that will be executed by the flow to return an HTTP response.",
|
|
143
148
|
isTrigger: true,
|
|
144
|
-
errorConfig: "errorConfig" in flow
|
|
149
|
+
errorConfig: "errorConfig" in flow ? Object.assign({}, flow.errorConfig) : undefined,
|
|
145
150
|
};
|
|
146
|
-
if ("
|
|
151
|
+
if ("onTrigger" in flow) {
|
|
147
152
|
triggerStep.action = {
|
|
148
|
-
key: flowFunctionKey(flow.name, "
|
|
153
|
+
key: flowFunctionKey(flow.name, "onTrigger"),
|
|
149
154
|
component: { key: referenceKey, version: "LATEST", isPublic: false },
|
|
150
155
|
};
|
|
151
156
|
}
|
|
@@ -154,10 +159,9 @@ const convertFlow = (flow, referenceKey) => {
|
|
|
154
159
|
key: flow.trigger.key,
|
|
155
160
|
component: flow.trigger.component,
|
|
156
161
|
};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
delete result.inputs;
|
|
162
|
+
if ("inputs" in flow.trigger) {
|
|
163
|
+
triggerStep.inputs = flow.trigger.inputs;
|
|
164
|
+
}
|
|
161
165
|
}
|
|
162
166
|
if ("schedule" in flow && typeof flow.schedule === "object") {
|
|
163
167
|
triggerStep.schedule = {
|
|
@@ -176,34 +180,77 @@ const convertFlow = (flow, referenceKey) => {
|
|
|
176
180
|
}
|
|
177
181
|
const actionStep = {
|
|
178
182
|
action: {
|
|
179
|
-
key: flowFunctionKey(flow.name, "
|
|
183
|
+
key: flowFunctionKey(flow.name, "onExecution"),
|
|
180
184
|
component: { key: referenceKey, version: "LATEST", isPublic: false },
|
|
181
185
|
},
|
|
182
|
-
name:
|
|
183
|
-
|
|
186
|
+
name: `${flow.name} - onExecution`,
|
|
187
|
+
description: "The function that will be executed by the flow.",
|
|
188
|
+
errorConfig: "errorConfig" in flow ? Object.assign({}, flow.errorConfig) : undefined,
|
|
184
189
|
};
|
|
185
190
|
result.steps = [triggerStep, actionStep];
|
|
186
191
|
return result;
|
|
187
192
|
};
|
|
188
193
|
/** Converts a Config Var into the structure necessary for YAML generation. */
|
|
189
194
|
const convertConfigVar = (configVar, referenceKey) => {
|
|
190
|
-
|
|
195
|
+
// This is unfortunate but we need to strip out some fields that are not
|
|
196
|
+
// relevant to config vars.
|
|
197
|
+
const fields = [
|
|
198
|
+
"key",
|
|
199
|
+
"description",
|
|
200
|
+
"orgOnly",
|
|
201
|
+
"inputs",
|
|
202
|
+
"defaultValue",
|
|
203
|
+
"dataType",
|
|
204
|
+
"pickList",
|
|
205
|
+
"scheduleType",
|
|
206
|
+
"timeZone",
|
|
207
|
+
"codeLanguage",
|
|
208
|
+
"collectionType",
|
|
209
|
+
"dataSource",
|
|
210
|
+
];
|
|
211
|
+
const result = Object.entries(configVar).reduce((result, [key, value]) => {
|
|
212
|
+
if (!fields.includes(key)) {
|
|
213
|
+
return result;
|
|
214
|
+
}
|
|
215
|
+
return Object.assign(Object.assign({}, result), { [key]: value });
|
|
216
|
+
}, { meta: {} });
|
|
191
217
|
// Handle some non-standard fields.
|
|
192
|
-
if ("visibleToOrgDeployer" in
|
|
193
|
-
result.meta.visibleToOrgDeployer =
|
|
194
|
-
delete result.visibleToOrgDeployer;
|
|
218
|
+
if ("visibleToOrgDeployer" in configVar) {
|
|
219
|
+
result.meta.visibleToOrgDeployer = configVar.visibleToOrgDeployer;
|
|
195
220
|
}
|
|
196
|
-
if ("visibleToCustomerDeployer" in
|
|
197
|
-
result.meta.visibleToCustomerDeployer =
|
|
198
|
-
delete result.visibleToCustomerDeployer;
|
|
221
|
+
if ("visibleToCustomerDeployer" in configVar) {
|
|
222
|
+
result.meta.visibleToCustomerDeployer = configVar.visibleToCustomerDeployer;
|
|
199
223
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
224
|
+
// Handle connections.
|
|
225
|
+
if ("label" in configVar || "component" in configVar) {
|
|
226
|
+
result.dataType = "connection";
|
|
227
|
+
if ("component" in configVar) {
|
|
228
|
+
// This is a reference to another Component's connection.
|
|
229
|
+
result.connection = {
|
|
230
|
+
key: configVar.key,
|
|
231
|
+
component: configVar.component,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
// This refers to a connection we are creating.
|
|
236
|
+
result.connection = {
|
|
237
|
+
key: configVar.key,
|
|
238
|
+
component: { key: referenceKey, version: "LATEST", isPublic: false },
|
|
239
|
+
};
|
|
240
|
+
result.description = configVar.label;
|
|
241
|
+
// Convert connection inputs to the inputs expected in the YAML.
|
|
242
|
+
// FIXME: This is just a placeholder for now.
|
|
243
|
+
result.inputs = Object.keys(configVar.inputs).reduce((result, key) => {
|
|
244
|
+
return Object.assign(Object.assign({}, result), { [key]: {
|
|
245
|
+
type: types_1.SimpleInputValueType.Value,
|
|
246
|
+
value: "",
|
|
247
|
+
} });
|
|
248
|
+
}, {});
|
|
249
|
+
}
|
|
205
250
|
}
|
|
251
|
+
// Handle data source references.
|
|
206
252
|
if ("dataSource" in result && typeof result.dataSource === "string") {
|
|
253
|
+
// This is a reference to a data source we are creating.
|
|
207
254
|
result.dataSource = {
|
|
208
255
|
key: result.dataSource,
|
|
209
256
|
component: { key: referenceKey, version: "LATEST", isPublic: false },
|
|
@@ -238,19 +285,50 @@ const flowFunctionKey = (flowName, functionName) => {
|
|
|
238
285
|
};
|
|
239
286
|
/** Creates the structure necessary to import a Component as part of a
|
|
240
287
|
* Code Native integration. */
|
|
241
|
-
const codeNativeIntegrationComponent = ({ name, iconPath, description, flows = [], dataSources = {},
|
|
242
|
-
const convertedActions = flows.reduce((result, { name,
|
|
243
|
-
const actionKey = flowFunctionKey(name, "
|
|
244
|
-
return Object.assign(Object.assign({}, result), { [actionKey]: convertAction(actionKey,
|
|
288
|
+
const codeNativeIntegrationComponent = ({ name, iconPath, description, flows = [], dataSources = {}, configVars = [], }, referenceKey) => {
|
|
289
|
+
const convertedActions = flows.reduce((result, { name, onExecution }) => {
|
|
290
|
+
const actionKey = flowFunctionKey(name, "onExecution");
|
|
291
|
+
return Object.assign(Object.assign({}, result), { [actionKey]: convertAction(actionKey, {
|
|
292
|
+
display: {
|
|
293
|
+
label: `${name} - onExecution`,
|
|
294
|
+
description: "The function that will be executed by the flow.",
|
|
295
|
+
},
|
|
296
|
+
perform: onExecution,
|
|
297
|
+
inputs: {},
|
|
298
|
+
}) });
|
|
245
299
|
}, {});
|
|
246
|
-
const convertedTriggers = flows.reduce((result,
|
|
300
|
+
const convertedTriggers = flows.reduce((result, flow) => {
|
|
247
301
|
// Filter out TriggerReferences.
|
|
248
|
-
if (
|
|
302
|
+
if ("trigger" in flow)
|
|
249
303
|
return result;
|
|
250
|
-
const
|
|
251
|
-
|
|
304
|
+
const { name, onTrigger, onInstanceDeploy, onInstanceDelete } = flow;
|
|
305
|
+
const triggerKey = flowFunctionKey(name, "onTrigger");
|
|
306
|
+
return Object.assign(Object.assign({}, result), { [triggerKey]: convertTrigger(triggerKey, {
|
|
307
|
+
display: {
|
|
308
|
+
label: `${name} - onTrigger`,
|
|
309
|
+
description: "The function that will be executed by the flow to return an HTTP response.",
|
|
310
|
+
},
|
|
311
|
+
perform: onTrigger,
|
|
312
|
+
onInstanceDeploy: onInstanceDeploy,
|
|
313
|
+
onInstanceDelete: onInstanceDelete,
|
|
314
|
+
inputs: {},
|
|
315
|
+
scheduleSupport: "valid",
|
|
316
|
+
synchronousResponseSupport: "valid",
|
|
317
|
+
}) });
|
|
252
318
|
}, {});
|
|
253
319
|
const convertedDataSources = Object.entries(dataSources).reduce((result, [dataSourceKey, dataSource]) => (Object.assign(Object.assign({}, result), { [dataSourceKey]: convertDataSource(dataSourceKey, Object.assign(Object.assign({}, dataSource), { inputs: {} })) })), {});
|
|
320
|
+
const convertedConnections = configVars.reduce((result, configVar) => {
|
|
321
|
+
if (!("label" in configVar)) {
|
|
322
|
+
return result;
|
|
323
|
+
}
|
|
324
|
+
// Remove a few fields that are not relevant to connections.
|
|
325
|
+
const {
|
|
326
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
327
|
+
orgOnly, visibleToOrgDeployer, visibleToCustomerDeployer } = configVar,
|
|
328
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
329
|
+
connection = __rest(configVar, ["orgOnly", "visibleToOrgDeployer", "visibleToCustomerDeployer"]);
|
|
330
|
+
return [...result, convertConnection(connection)];
|
|
331
|
+
}, []);
|
|
254
332
|
return {
|
|
255
333
|
key: referenceKey,
|
|
256
334
|
display: {
|
|
@@ -258,7 +336,7 @@ const codeNativeIntegrationComponent = ({ name, iconPath, description, flows = [
|
|
|
258
336
|
iconPath,
|
|
259
337
|
description: description || name,
|
|
260
338
|
},
|
|
261
|
-
connections:
|
|
339
|
+
connections: convertedConnections,
|
|
262
340
|
actions: convertedActions,
|
|
263
341
|
triggers: convertedTriggers,
|
|
264
342
|
dataSources: convertedDataSources,
|
package/dist/testing.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export declare const invokeDataSource: <TInputs extends Inputs, TDataSourceType
|
|
|
60
60
|
* Invokes specified Flow of a Code Native Integration using supplied params.
|
|
61
61
|
* Runs the Trigger and then the Action function and returns the result of the Action.
|
|
62
62
|
*/
|
|
63
|
-
export declare const invokeFlow: (
|
|
63
|
+
export declare const invokeFlow: (flow: Flow, context?: Partial<ActionContext> | undefined, payload?: TriggerPayload | undefined) => Promise<InvokeReturn<InvokeActionPerformReturn<false, unknown>>>;
|
|
64
64
|
export declare class ComponentTestHarness<TComponent extends Component> {
|
|
65
65
|
component: TComponent;
|
|
66
66
|
constructor(component: TComponent);
|
package/dist/testing.js
CHANGED
|
@@ -199,15 +199,15 @@ exports.invokeDataSource = invokeDataSource;
|
|
|
199
199
|
* Invokes specified Flow of a Code Native Integration using supplied params.
|
|
200
200
|
* Runs the Trigger and then the Action function and returns the result of the Action.
|
|
201
201
|
*/
|
|
202
|
-
const invokeFlow = (
|
|
202
|
+
const invokeFlow = (flow, context, payload) => __awaiter(void 0, void 0, void 0, function* () {
|
|
203
203
|
const realizedContext = Object.assign(Object.assign({}, baseActionContext), context);
|
|
204
204
|
const realizedPayload = Object.assign(Object.assign({}, (0, exports.defaultTriggerPayload)()), payload);
|
|
205
205
|
const params = {};
|
|
206
|
-
if (
|
|
207
|
-
const triggerResult = yield
|
|
206
|
+
if ("onTrigger" in flow) {
|
|
207
|
+
const triggerResult = yield flow.onTrigger(realizedContext, realizedPayload, params);
|
|
208
208
|
params.trigger = triggerResult;
|
|
209
209
|
}
|
|
210
|
-
const result = yield
|
|
210
|
+
const result = yield flow.onExecution(realizedContext, params);
|
|
211
211
|
return {
|
|
212
212
|
result,
|
|
213
213
|
loggerMock: realizedContext.logger,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataSourceDefinition, ConnectionDefinition,
|
|
1
|
+
import { DataSourceDefinition, ConnectionDefinition, ActionPerformFunction, ActionPerformReturn, TriggerEventFunction, TriggerPerformFunction, Inputs, TriggerResult, DataSourceType } from ".";
|
|
2
2
|
/** Defines attributes of a Code-Native Integration. */
|
|
3
3
|
export declare type IntegrationDefinition = {
|
|
4
4
|
/** The unique name for this Integration. */
|
|
@@ -30,11 +30,9 @@ export declare type IntegrationDefinition = {
|
|
|
30
30
|
configPages?: ConfigPage[];
|
|
31
31
|
/** Specifies any Data Sources that are defined as part of this Integration. */
|
|
32
32
|
dataSources?: Record<string, CodeNativeDataSource>;
|
|
33
|
-
/** Specifies any Connections that are defined as part of this Integration. */
|
|
34
|
-
connections?: ConnectionDefinition[];
|
|
35
33
|
};
|
|
36
|
-
/** Defines attributes of a Flow of a Code-Native Integration. */
|
|
37
|
-
|
|
34
|
+
/** Defines common attributes of a Flow of a Code-Native Integration. */
|
|
35
|
+
declare type BaseFlow = {
|
|
38
36
|
/** The unique name for this Flow. */
|
|
39
37
|
name: string;
|
|
40
38
|
/** Optional description for this Flow. */
|
|
@@ -51,23 +49,29 @@ export declare type Flow = {
|
|
|
51
49
|
organizationApiKeys?: string[];
|
|
52
50
|
/** Optional schedule configuration that defines the frequency with which this Flow will be automatically executed. */
|
|
53
51
|
schedule?: FlowSchedule;
|
|
54
|
-
/** Specifies the trigger for this Flow. */
|
|
55
|
-
trigger: (CodeNativeTrigger | TriggerReference) & {
|
|
56
|
-
/** Optional error handling configuration. */
|
|
57
|
-
errorConfig?: StepErrorConfig;
|
|
58
|
-
};
|
|
59
|
-
/** Specifies the main function for this Flow. */
|
|
60
|
-
action: CodeNativeAction;
|
|
61
|
-
};
|
|
62
|
-
/** Defines attributes of a Data Source that is defined as part of a Code Native Integration. */
|
|
63
|
-
export declare type CodeNativeDataSource = Pick<DataSourceDefinition<Inputs, DataSourceType>, "display" | "perform" | "dataSourceType" | "detailDataSource">;
|
|
64
|
-
/** Defines attributes of a Trigger that is defined as part of a Code Native Integration. */
|
|
65
|
-
export declare type CodeNativeTrigger = Pick<TriggerDefinition<Inputs, false, TriggerResult<false>>, "display" | "perform" | "onInstanceDeploy" | "onInstanceDelete">;
|
|
66
|
-
/** Defines attributes of an CodeNativeAction, which is the main function that will be executed for a Flow of a Code Native Integration. */
|
|
67
|
-
export declare type CodeNativeAction = Pick<ActionDefinition<Inputs, false, ActionPerformReturn<false, unknown>>, "display" | "perform"> & {
|
|
68
52
|
/** Optional error handling configuration. */
|
|
69
53
|
errorConfig?: StepErrorConfig;
|
|
54
|
+
/** Specifies the main function for this Flow */
|
|
55
|
+
onExecution: ActionPerformFunction<Inputs, false, ActionPerformReturn<false, unknown>>;
|
|
56
|
+
};
|
|
57
|
+
/** Defines attributes of a Flow that will have custom Trigger logic. */
|
|
58
|
+
declare type CustomTriggerFlow = BaseFlow & {
|
|
59
|
+
/** Specifies the trigger function for this Flow, which returns a payload and optional HTTP response. */
|
|
60
|
+
onTrigger: TriggerPerformFunction<Inputs, false, TriggerResult<false>>;
|
|
61
|
+
/** Specifies the function to execute when an Instance of this Integration is deployed. */
|
|
62
|
+
onInstanceDeploy?: TriggerEventFunction<Inputs>;
|
|
63
|
+
/** Specifies the function to execute when an Instance of an Integration is deleted. */
|
|
64
|
+
onInstanceDelete?: TriggerEventFunction<Inputs>;
|
|
70
65
|
};
|
|
66
|
+
/** Defines attributes of a Flow that will use a Trigger from an existing Component. */
|
|
67
|
+
declare type PrebuiltTriggerFlow = BaseFlow & {
|
|
68
|
+
/** Specifies the prebuilt Trigger that will run when this Flow executes. */
|
|
69
|
+
trigger: TriggerReference;
|
|
70
|
+
};
|
|
71
|
+
/** Defines attributes of a Flow of a Code-Native Integration. */
|
|
72
|
+
export declare type Flow = CustomTriggerFlow | PrebuiltTriggerFlow;
|
|
73
|
+
/** Defines attributes of a Data Source that is defined as part of a Code Native Integration. */
|
|
74
|
+
export declare type CodeNativeDataSource = Pick<DataSourceDefinition<Inputs, DataSourceType>, "display" | "perform" | "dataSourceType" | "detailDataSource">;
|
|
71
75
|
/** Defines attributes of a reference to an existing Trigger. */
|
|
72
76
|
export declare type TriggerReference = {
|
|
73
77
|
/** Attributes of the referenced Component. */
|
|
@@ -84,13 +88,6 @@ export declare type DataSourceReference = {
|
|
|
84
88
|
/** The unique key that identifies the Data Source within the Component. */
|
|
85
89
|
key: string;
|
|
86
90
|
};
|
|
87
|
-
/** Defines attributes of a reference to an existing Connection. */
|
|
88
|
-
export declare type ConnectionReference = {
|
|
89
|
-
/** Attributes of the referenced Component. */
|
|
90
|
-
component: ComponentReference;
|
|
91
|
-
/** The unique key that identifies the Connection within the Component. */
|
|
92
|
-
key: string;
|
|
93
|
-
};
|
|
94
91
|
/** Defines attributes of a reference to a member of an existing Component. */
|
|
95
92
|
export declare type ComponentReference = {
|
|
96
93
|
/** The unique key that identifies the Component. */
|
|
@@ -116,7 +113,7 @@ declare type BaseConfigVar = {
|
|
|
116
113
|
visibleToCustomerDeployer?: boolean;
|
|
117
114
|
};
|
|
118
115
|
/** Defines attributes of a standard Config Var. */
|
|
119
|
-
declare type StandardConfigVar = BaseConfigVar & {
|
|
116
|
+
export declare type StandardConfigVar = BaseConfigVar & {
|
|
120
117
|
/** Optional default value for the Config Var. */
|
|
121
118
|
defaultValue?: string;
|
|
122
119
|
/** The data type of the Config Var. */
|
|
@@ -138,16 +135,12 @@ declare type StandardConfigVar = BaseConfigVar & {
|
|
|
138
135
|
dataSource?: string | DataSourceReference;
|
|
139
136
|
};
|
|
140
137
|
/** Defines attributes of a Config Var that represents a Connection. */
|
|
141
|
-
declare type ConnectionConfigVar = BaseConfigVar &
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
|
|
145
|
-
* Connection defined in the Code Native Integration. Otherwise it is
|
|
146
|
-
* expected to be a reference to an existing Connection. */
|
|
147
|
-
connection: string | ConnectionReference;
|
|
138
|
+
export declare type ConnectionConfigVar = Omit<BaseConfigVar, "description" | "inputs"> & ConnectionDefinition;
|
|
139
|
+
export declare type ConnectionRefConfigVar = BaseConfigVar & {
|
|
140
|
+
/** Attributes of the referenced Component. */
|
|
141
|
+
component: ComponentReference;
|
|
148
142
|
};
|
|
149
|
-
|
|
150
|
-
export declare type ConfigVar = StandardConfigVar | ConnectionConfigVar;
|
|
143
|
+
export declare type ConfigVar = StandardConfigVar | ConnectionConfigVar | ConnectionRefConfigVar;
|
|
151
144
|
/** Defines attributes of a Config Wizard Page used when deploying an Instance of an Integration. */
|
|
152
145
|
export declare type ConfigPage = {
|
|
153
146
|
/** The unique name for this Config Page. */
|