@activepieces/shared 0.5.2 → 0.5.4

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/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@activepieces/shared",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@sinclair/typebox": "^0.26.3",
7
7
  "nanoid": "^3.3.4",
8
+ "semver": "7.5.3",
8
9
  "tslib": "1.14.1"
9
10
  },
10
11
  "main": "./src/index.js",
@@ -10,7 +10,8 @@ export declare const enum ApEnvironment {
10
10
  }
11
11
  export declare const enum ApEdition {
12
12
  COMMUNITY = "ce",
13
- ENTERPRISE = "ee"
13
+ ENTERPRISE = "ee",
14
+ CLOUD = "cloud"
14
15
  }
15
16
  export declare enum ApFlagId {
16
17
  SANDBOX_RUN_TIME_SECONDS = "SANDBOX_RUN_TIME_SECONDS",
@@ -1 +1 @@
1
- {"version":3,"file":"flag.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flag/flag.ts"],"names":[],"mappings":";;;AAmBA,IAAY,QAeX;AAfD,WAAY,QAAQ;IAChB,iEAAqD,CAAA;IACrD,yCAA6B,CAAA;IAC7B,+BAAmB,CAAA;IACnB,uCAA2B,CAAA;IAC3B,qDAAyC,CAAA;IACzC,yCAA6B,CAAA;IAC7B,+CAAmC,CAAA;IACnC,mDAAuC,CAAA;IACvC,mDAAuC,CAAA;IACvC,uDAA2C,CAAA;IAC3C,+CAAmC,CAAA;IACnC,6CAAiC,CAAA;IACjC,qDAAyC,CAAA;IACzC,yDAA6C,CAAA;AACjD,CAAC,EAfW,QAAQ,wBAAR,QAAQ,QAenB"}
1
+ {"version":3,"file":"flag.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flag/flag.ts"],"names":[],"mappings":";;;AAoBA,IAAY,QAeX;AAfD,WAAY,QAAQ;IAChB,iEAAqD,CAAA;IACrD,yCAA6B,CAAA;IAC7B,+BAAmB,CAAA;IACnB,uCAA2B,CAAA;IAC3B,qDAAyC,CAAA;IACzC,yCAA6B,CAAA;IAC7B,+CAAmC,CAAA;IACnC,mDAAuC,CAAA;IACvC,mDAAuC,CAAA;IACvC,uDAA2C,CAAA;IAC3C,+CAAmC,CAAA;IACnC,6CAAiC,CAAA;IACjC,qDAAyC,CAAA;IACzC,yDAA6C,CAAA;AACjD,CAAC,EAfW,QAAQ,wBAAR,QAAQ,QAenB"}
@@ -14,12 +14,13 @@ declare function isValid(flowVersion: FlowVersion): boolean;
14
14
  declare function isAction(type: ActionType | TriggerType | undefined): boolean;
15
15
  declare function isTrigger(type: ActionType | TriggerType | undefined): boolean;
16
16
  declare function getUsedPieces(trigger: Trigger): string[];
17
+ declare function transferFlowAsync<T extends Step>(flowVersion: FlowVersion, transferFunction: (step: T) => Promise<T>): Promise<FlowVersion>;
17
18
  declare function getAllSteps(trigger: Trigger): (Action | Trigger)[];
18
19
  declare function getAllStepsAtFirstLevel(step: Trigger): (Action | Trigger)[];
19
- declare function getAllChildSteps(action: LoopOnItemsAction | BranchAction): (Action)[];
20
+ declare function getAllChildSteps(action: LoopOnItemsAction | BranchAction): Action[];
20
21
  declare function getStep(flowVersion: FlowVersion, stepName: string): Action | Trigger | undefined;
21
22
  declare function isChildOf(parent: LoopOnItemsAction | BranchAction, child: Action): boolean;
22
- export declare function getImportOperations(step: Action | Trigger | undefined): (FlowOperationRequest)[];
23
+ export declare function getImportOperations(step: Action | Trigger | undefined): FlowOperationRequest[];
23
24
  export declare const flowHelper: {
24
25
  isValid: typeof isValid;
25
26
  apply(flowVersion: FlowVersion, operation: FlowOperationRequest): FlowVersion;
@@ -32,6 +33,7 @@ export declare const flowHelper: {
32
33
  getAllSubFlowSteps: ({ subFlowStartStep }: GetAllSubFlowSteps) => Step[];
33
34
  getStepFromSubFlow: ({ subFlowStartStep, stepName }: GetStepFromSubFlow) => Step | undefined;
34
35
  isChildOf: typeof isChildOf;
36
+ transferFlowAsync: typeof transferFlowAsync;
35
37
  getAllChildSteps: typeof getAllChildSteps;
36
38
  getAllStepsAtFirstLevel: typeof getAllStepsAtFirstLevel;
37
39
  };
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.flowHelper = exports.getImportOperations = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const flow_operations_1 = require("./flow-operations");
5
6
  const action_1 = require("./actions/action");
6
7
  const trigger_1 = require("./triggers/trigger");
7
8
  const compiler_1 = require("@sinclair/typebox/compiler");
8
9
  const flow_version_1 = require("./flow-version");
9
10
  const activepieces_error_1 = require("../common/activepieces-error");
11
+ const semver_1 = tslib_1.__importDefault(require("semver"));
10
12
  const actionSchemaValidator = compiler_1.TypeCompiler.Compile(action_1.Action);
11
13
  const triggerSchemaValidation = compiler_1.TypeCompiler.Compile(trigger_1.Trigger);
12
14
  function isValid(flowVersion) {
@@ -25,41 +27,40 @@ function isTrigger(type) {
25
27
  return Object.entries(trigger_1.TriggerType).some(([, value]) => value === type);
26
28
  }
27
29
  function deleteAction(flowVersion, request) {
28
- const steps = getAllSteps(flowVersion.trigger);
29
- let deleted = false;
30
- for (let i = 0; i < steps.length; i++) {
31
- const parentStep = steps[i];
30
+ return transferFlow(flowVersion, (parentStep) => {
32
31
  if (parentStep.nextAction && parentStep.nextAction.name === request.name) {
33
32
  const stepToUpdate = parentStep.nextAction;
34
33
  parentStep.nextAction = stepToUpdate.nextAction;
35
- deleted = true;
36
34
  }
37
- if (parentStep.type === action_1.ActionType.BRANCH) {
38
- if (parentStep.onFailureAction && parentStep.onFailureAction.name === request.name) {
39
- const stepToUpdate = parentStep.onFailureAction;
40
- parentStep.onFailureAction = stepToUpdate.nextAction;
41
- deleted = true;
42
- }
43
- if (parentStep.onSuccessAction && parentStep.onSuccessAction.name === request.name) {
44
- const stepToUpdate = parentStep.onSuccessAction;
45
- parentStep.onSuccessAction = stepToUpdate.nextAction;
46
- deleted = true;
35
+ switch (parentStep.type) {
36
+ case action_1.ActionType.BRANCH: {
37
+ if (parentStep.onFailureAction &&
38
+ parentStep.onFailureAction.name === request.name) {
39
+ const stepToUpdate = parentStep.onFailureAction;
40
+ parentStep.onFailureAction = stepToUpdate.nextAction;
41
+ }
42
+ if (parentStep.onSuccessAction &&
43
+ parentStep.onSuccessAction.name === request.name) {
44
+ const stepToUpdate = parentStep.onSuccessAction;
45
+ parentStep.onSuccessAction = stepToUpdate.nextAction;
46
+ }
47
+ break;
47
48
  }
48
- }
49
- if (parentStep.type === action_1.ActionType.LOOP_ON_ITEMS) {
50
- if (parentStep.firstLoopAction && parentStep.firstLoopAction.name === request.name) {
51
- const stepToUpdate = parentStep.firstLoopAction;
52
- parentStep.firstLoopAction = stepToUpdate.nextAction;
53
- deleted = true;
49
+ case action_1.ActionType.LOOP_ON_ITEMS: {
50
+ if (parentStep.firstLoopAction &&
51
+ parentStep.firstLoopAction.name === request.name) {
52
+ const stepToUpdate = parentStep.firstLoopAction;
53
+ parentStep.firstLoopAction = stepToUpdate.nextAction;
54
+ }
55
+ break;
54
56
  }
57
+ case action_1.ActionType.CODE:
58
+ case action_1.ActionType.MISSING:
59
+ case action_1.ActionType.PIECE:
60
+ break;
55
61
  }
56
- }
57
- if (!deleted) {
58
- throw new activepieces_error_1.ActivepiecesError({
59
- code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
60
- params: {}
61
- }, `Action ${request.name} not found`);
62
- }
62
+ return parentStep;
63
+ });
63
64
  }
64
65
  function getUsedPieces(trigger) {
65
66
  return traverseInternal(trigger)
@@ -82,6 +83,64 @@ function traverseInternal(step) {
82
83
  }
83
84
  return steps;
84
85
  }
86
+ function transferStepAsync(step, transferFunction) {
87
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
88
+ const updatedStep = yield transferFunction(step);
89
+ if (updatedStep.type === action_1.ActionType.BRANCH) {
90
+ const { onSuccessAction, onFailureAction } = updatedStep;
91
+ if (onSuccessAction) {
92
+ updatedStep.onSuccessAction = (yield transferStepAsync(onSuccessAction, transferFunction));
93
+ }
94
+ if (onFailureAction) {
95
+ updatedStep.onFailureAction = (yield transferStepAsync(onFailureAction, transferFunction));
96
+ }
97
+ }
98
+ else if (updatedStep.type === action_1.ActionType.LOOP_ON_ITEMS) {
99
+ const { firstLoopAction } = updatedStep;
100
+ if (firstLoopAction) {
101
+ updatedStep.firstLoopAction = (yield transferStepAsync(firstLoopAction, transferFunction));
102
+ }
103
+ }
104
+ if (updatedStep.nextAction) {
105
+ updatedStep.nextAction = (yield transferStepAsync(updatedStep.nextAction, transferFunction));
106
+ }
107
+ return updatedStep;
108
+ });
109
+ }
110
+ function transferStep(step, transferFunction) {
111
+ const updatedStep = transferFunction(step);
112
+ if (updatedStep.type === action_1.ActionType.BRANCH) {
113
+ const { onSuccessAction, onFailureAction } = updatedStep;
114
+ if (onSuccessAction) {
115
+ updatedStep.onSuccessAction = transferStep(onSuccessAction, transferFunction);
116
+ }
117
+ if (onFailureAction) {
118
+ updatedStep.onFailureAction = transferStep(onFailureAction, transferFunction);
119
+ }
120
+ }
121
+ else if (updatedStep.type === action_1.ActionType.LOOP_ON_ITEMS) {
122
+ const { firstLoopAction } = updatedStep;
123
+ if (firstLoopAction) {
124
+ updatedStep.firstLoopAction = transferStep(firstLoopAction, transferFunction);
125
+ }
126
+ }
127
+ if (updatedStep.nextAction) {
128
+ updatedStep.nextAction = transferStep(updatedStep.nextAction, transferFunction);
129
+ }
130
+ return updatedStep;
131
+ }
132
+ function transferFlowAsync(flowVersion, transferFunction) {
133
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
134
+ const clonedFlow = JSON.parse(JSON.stringify(flowVersion));
135
+ clonedFlow.trigger = (yield transferStepAsync(clonedFlow.trigger, transferFunction));
136
+ return clonedFlow;
137
+ });
138
+ }
139
+ function transferFlow(flowVersion, transferFunction) {
140
+ const clonedFlow = JSON.parse(JSON.stringify(flowVersion));
141
+ clonedFlow.trigger = transferStep(clonedFlow.trigger, transferFunction);
142
+ return clonedFlow;
143
+ }
85
144
  function getAllSteps(trigger) {
86
145
  return traverseInternal(trigger);
87
146
  }
@@ -98,7 +157,10 @@ function getAllChildSteps(action) {
98
157
  case action_1.ActionType.LOOP_ON_ITEMS:
99
158
  return traverseInternal(action.firstLoopAction);
100
159
  default:
101
- return [...traverseInternal(action.onSuccessAction), ...traverseInternal(action.onFailureAction)];
160
+ return [
161
+ ...traverseInternal(action.onSuccessAction),
162
+ ...traverseInternal(action.onFailureAction)
163
+ ];
102
164
  }
103
165
  }
104
166
  function getStep(flowVersion, stepName) {
@@ -109,46 +171,37 @@ const getAllSubFlowSteps = ({ subFlowStartStep }) => {
109
171
  };
110
172
  const getStepFromSubFlow = ({ subFlowStartStep, stepName }) => {
111
173
  const subFlowSteps = getAllSubFlowSteps({
112
- subFlowStartStep,
174
+ subFlowStartStep
113
175
  });
114
176
  return subFlowSteps.find((step) => step.name === stepName);
115
177
  };
116
178
  function updateAction(flowVersion, request) {
117
- const steps = getAllSteps(flowVersion.trigger);
118
- let updated = false;
119
- for (let i = 0; i < steps.length; i++) {
120
- const parentStep = steps[i];
179
+ return transferFlow(flowVersion, (parentStep) => {
121
180
  if (parentStep.nextAction && parentStep.nextAction.name === request.name) {
122
181
  const actions = extractActions(parentStep.nextAction);
123
182
  parentStep.nextAction = createAction(request, actions);
124
- updated = true;
125
183
  }
126
184
  if (parentStep.type === action_1.ActionType.BRANCH) {
127
- if (parentStep.onFailureAction && parentStep.onFailureAction.name === request.name) {
185
+ if (parentStep.onFailureAction &&
186
+ parentStep.onFailureAction.name === request.name) {
128
187
  const actions = extractActions(parentStep.onFailureAction);
129
188
  parentStep.onFailureAction = createAction(request, actions);
130
- updated = true;
131
189
  }
132
- if (parentStep.onSuccessAction && parentStep.onSuccessAction.name === request.name) {
190
+ if (parentStep.onSuccessAction &&
191
+ parentStep.onSuccessAction.name === request.name) {
133
192
  const actions = extractActions(parentStep.onSuccessAction);
134
193
  parentStep.onSuccessAction = createAction(request, actions);
135
- updated = true;
136
194
  }
137
195
  }
138
196
  if (parentStep.type === action_1.ActionType.LOOP_ON_ITEMS) {
139
- if (parentStep.firstLoopAction && parentStep.firstLoopAction.name === request.name) {
197
+ if (parentStep.firstLoopAction &&
198
+ parentStep.firstLoopAction.name === request.name) {
140
199
  const actions = extractActions(parentStep.firstLoopAction);
141
200
  parentStep.firstLoopAction = createAction(request, actions);
142
- updated = true;
143
201
  }
144
202
  }
145
- }
146
- if (!updated) {
147
- throw new activepieces_error_1.ActivepiecesError({
148
- code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
149
- params: {}
150
- }, `Action ${request.name} not found`);
151
- }
203
+ return parentStep;
204
+ });
152
205
  }
153
206
  function extractActions(step) {
154
207
  const nextAction = step.nextAction;
@@ -159,14 +212,14 @@ function extractActions(step) {
159
212
  }
160
213
  function moveAction(flowVersion, request) {
161
214
  const steps = getAllSteps(flowVersion.trigger);
162
- const sourceStep = steps.find(step => step.name === request.name);
215
+ const sourceStep = steps.find((step) => step.name === request.name);
163
216
  if (!sourceStep || !isAction(sourceStep === null || sourceStep === void 0 ? void 0 : sourceStep.type)) {
164
217
  throw new activepieces_error_1.ActivepiecesError({
165
218
  code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
166
219
  params: {}
167
220
  }, `Source step ${request.name} not found`);
168
221
  }
169
- const destinationStep = steps.find(step => step.name === request.newParentStep);
222
+ const destinationStep = steps.find((step) => step.name === request.newParentStep);
170
223
  if (!destinationStep) {
171
224
  throw new activepieces_error_1.ActivepiecesError({
172
225
  code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
@@ -175,76 +228,83 @@ function moveAction(flowVersion, request) {
175
228
  }
176
229
  const childOperation = [];
177
230
  const clonedSourceStep = JSON.parse(JSON.stringify(sourceStep));
178
- if (clonedSourceStep.type === action_1.ActionType.LOOP_ON_ITEMS || clonedSourceStep.type === action_1.ActionType.BRANCH) {
231
+ if (clonedSourceStep.type === action_1.ActionType.LOOP_ON_ITEMS ||
232
+ clonedSourceStep.type === action_1.ActionType.BRANCH) {
179
233
  // Don't Clone the next action for first step only
180
234
  clonedSourceStep.nextAction = undefined;
181
235
  childOperation.push(...getImportOperations(clonedSourceStep));
182
236
  }
183
- deleteAction(flowVersion, { name: request.name });
184
- addAction(flowVersion, {
237
+ flowVersion = deleteAction(flowVersion, { name: request.name });
238
+ flowVersion = addAction(flowVersion, {
185
239
  action: sourceStep,
186
240
  parentStep: request.newParentStep,
187
241
  stepLocationRelativeToParent: request.stepLocationRelativeToNewParent
188
242
  });
189
- childOperation.forEach(operation => {
243
+ childOperation.forEach((operation) => {
190
244
  flowVersion = exports.flowHelper.apply(flowVersion, operation);
191
245
  });
192
246
  return flowVersion;
193
247
  }
194
248
  function addAction(flowVersion, request) {
195
- const parentStep = getAllSteps(flowVersion.trigger).find(step => step.name === request.parentStep);
196
- if (parentStep === undefined) {
197
- throw new activepieces_error_1.ActivepiecesError({
198
- code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
199
- params: {}
200
- }, `Parent step ${request.parentStep} not found`);
201
- }
202
- if (parentStep.type === action_1.ActionType.LOOP_ON_ITEMS && request.stepLocationRelativeToParent) {
203
- if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.INSIDE_LOOP) {
204
- parentStep.firstLoopAction = createAction(request.action, {
205
- nextAction: parentStep.firstLoopAction
206
- });
207
- }
208
- else if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.AFTER) {
209
- parentStep.nextAction = createAction(request.action, {
210
- nextAction: parentStep.nextAction
211
- });
249
+ return transferFlow(flowVersion, (parentStep) => {
250
+ if (parentStep.name !== request.parentStep) {
251
+ return parentStep;
212
252
  }
213
- else {
214
- throw new activepieces_error_1.ActivepiecesError({
215
- code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
216
- params: {}
217
- }, `Loop step parent ${request.stepLocationRelativeToParent} not found`);
218
- }
219
- }
220
- else if (parentStep.type === action_1.ActionType.BRANCH && request.stepLocationRelativeToParent) {
221
- if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.INSIDE_TRUE_BRANCH) {
222
- parentStep.onSuccessAction = createAction(request.action, {
223
- nextAction: parentStep.onSuccessAction
224
- });
253
+ if (parentStep.type === action_1.ActionType.LOOP_ON_ITEMS &&
254
+ request.stepLocationRelativeToParent) {
255
+ if (request.stepLocationRelativeToParent ===
256
+ flow_operations_1.StepLocationRelativeToParent.INSIDE_LOOP) {
257
+ parentStep.firstLoopAction = createAction(request.action, {
258
+ nextAction: parentStep.firstLoopAction
259
+ });
260
+ }
261
+ else if (request.stepLocationRelativeToParent ===
262
+ flow_operations_1.StepLocationRelativeToParent.AFTER) {
263
+ parentStep.nextAction = createAction(request.action, {
264
+ nextAction: parentStep.nextAction
265
+ });
266
+ }
267
+ else {
268
+ throw new activepieces_error_1.ActivepiecesError({
269
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
270
+ params: {}
271
+ }, `Loop step parent ${request.stepLocationRelativeToParent} not found`);
272
+ }
225
273
  }
226
- else if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.INSIDE_FALSE_BRANCH) {
227
- parentStep.onFailureAction = createAction(request.action, {
228
- nextAction: parentStep.onFailureAction
229
- });
274
+ else if (parentStep.type === action_1.ActionType.BRANCH &&
275
+ request.stepLocationRelativeToParent) {
276
+ if (request.stepLocationRelativeToParent ===
277
+ flow_operations_1.StepLocationRelativeToParent.INSIDE_TRUE_BRANCH) {
278
+ parentStep.onSuccessAction = createAction(request.action, {
279
+ nextAction: parentStep.onSuccessAction
280
+ });
281
+ }
282
+ else if (request.stepLocationRelativeToParent ===
283
+ flow_operations_1.StepLocationRelativeToParent.INSIDE_FALSE_BRANCH) {
284
+ parentStep.onFailureAction = createAction(request.action, {
285
+ nextAction: parentStep.onFailureAction
286
+ });
287
+ }
288
+ else if (request.stepLocationRelativeToParent ===
289
+ flow_operations_1.StepLocationRelativeToParent.AFTER) {
290
+ parentStep.nextAction = createAction(request.action, {
291
+ nextAction: parentStep.nextAction
292
+ });
293
+ }
294
+ else {
295
+ throw new activepieces_error_1.ActivepiecesError({
296
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
297
+ params: {}
298
+ }, `Branch step parernt ${request.stepLocationRelativeToParent} not found`);
299
+ }
230
300
  }
231
- else if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.AFTER) {
301
+ else {
232
302
  parentStep.nextAction = createAction(request.action, {
233
303
  nextAction: parentStep.nextAction
234
304
  });
235
305
  }
236
- else {
237
- throw new activepieces_error_1.ActivepiecesError({
238
- code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
239
- params: {}
240
- }, `Branch step parernt ${request.stepLocationRelativeToParent} not found`);
241
- }
242
- }
243
- else {
244
- parentStep.nextAction = createAction(request.action, {
245
- nextAction: parentStep.nextAction
246
- });
247
- }
306
+ return parentStep;
307
+ });
248
308
  }
249
309
  function createAction(request, { nextAction, onFailureAction, onSuccessAction, firstLoopAction }) {
250
310
  var _a;
@@ -252,7 +312,7 @@ function createAction(request, { nextAction, onFailureAction, onSuccessAction, f
252
312
  displayName: request.displayName,
253
313
  name: request.name,
254
314
  valid: false,
255
- nextAction: nextAction,
315
+ nextAction: nextAction
256
316
  };
257
317
  let action;
258
318
  switch (request.type) {
@@ -278,11 +338,14 @@ function isChildOf(parent, child) {
278
338
  switch (parent.type) {
279
339
  case action_1.ActionType.LOOP_ON_ITEMS: {
280
340
  const children = getAllChildSteps(parent);
281
- return children.findIndex(c => c.name === child.name) > -1;
341
+ return children.findIndex((c) => c.name === child.name) > -1;
282
342
  }
283
343
  default: {
284
- const children = [...getAllChildSteps(parent), ...getAllChildSteps(parent)];
285
- return children.findIndex(c => c.name === child.name) > -1;
344
+ const children = [
345
+ ...getAllChildSteps(parent),
346
+ ...getAllChildSteps(parent)
347
+ ];
348
+ return children.findIndex((c) => c.name === child.name) > -1;
286
349
  }
287
350
  }
288
351
  }
@@ -292,7 +355,7 @@ function createTrigger(name, request, nextAction) {
292
355
  displayName: request.displayName,
293
356
  name: name,
294
357
  valid: false,
295
- nextAction: nextAction,
358
+ nextAction: nextAction
296
359
  };
297
360
  let trigger;
298
361
  switch (request.type) {
@@ -318,8 +381,8 @@ function getImportOperations(step) {
318
381
  type: flow_operations_1.FlowOperationType.ADD_ACTION,
319
382
  request: {
320
383
  parentStep: step.name,
321
- action: keepBaseAction(step.nextAction),
322
- },
384
+ action: keepBaseAction(step.nextAction)
385
+ }
323
386
  });
324
387
  }
325
388
  if (step.type === action_1.ActionType.BRANCH) {
@@ -329,8 +392,8 @@ function getImportOperations(step) {
329
392
  request: {
330
393
  parentStep: step.name,
331
394
  stepLocationRelativeToParent: flow_operations_1.StepLocationRelativeToParent.INSIDE_FALSE_BRANCH,
332
- action: keepBaseAction(step.onFailureAction),
333
- },
395
+ action: keepBaseAction(step.onFailureAction)
396
+ }
334
397
  });
335
398
  steps.push(...getImportOperations(step.onFailureAction));
336
399
  }
@@ -340,8 +403,8 @@ function getImportOperations(step) {
340
403
  request: {
341
404
  parentStep: step.name,
342
405
  stepLocationRelativeToParent: flow_operations_1.StepLocationRelativeToParent.INSIDE_TRUE_BRANCH,
343
- action: keepBaseAction(step.onSuccessAction),
344
- },
406
+ action: keepBaseAction(step.onSuccessAction)
407
+ }
345
408
  });
346
409
  steps.push(...getImportOperations(step.onSuccessAction));
347
410
  }
@@ -352,8 +415,8 @@ function getImportOperations(step) {
352
415
  request: {
353
416
  parentStep: step.name,
354
417
  stepLocationRelativeToParent: flow_operations_1.StepLocationRelativeToParent.INSIDE_LOOP,
355
- action: keepBaseAction(step.firstLoopAction),
356
- },
418
+ action: keepBaseAction(step.firstLoopAction)
419
+ }
357
420
  });
358
421
  steps.push(...getImportOperations(step.firstLoopAction));
359
422
  }
@@ -368,7 +431,7 @@ function keepBaseAction(action) {
368
431
  const commonProps = {
369
432
  name: action.name,
370
433
  displayName: action.displayName,
371
- valid: action.valid,
434
+ valid: action.valid
372
435
  };
373
436
  switch (action.type) {
374
437
  case action_1.ActionType.BRANCH:
@@ -384,6 +447,48 @@ function keepBaseAction(action) {
384
447
  return Object.assign({ type: action.type, settings: action.settings }, commonProps);
385
448
  }
386
449
  }
450
+ function upgradePiece(step, stepName) {
451
+ if (step.name !== stepName) {
452
+ return step;
453
+ }
454
+ const clonedStep = JSON.parse(JSON.stringify(step));
455
+ switch (step.type) {
456
+ case action_1.ActionType.PIECE:
457
+ case trigger_1.TriggerType.PIECE: {
458
+ const { pieceVersion, pieceName } = step.settings;
459
+ if (isLegacyApp({ pieceName, pieceVersion })) {
460
+ return step;
461
+ }
462
+ if (pieceVersion.startsWith('^') || pieceVersion.startsWith('~')) {
463
+ return step;
464
+ }
465
+ if (semver_1.default.valid(pieceVersion) && semver_1.default.lt(pieceVersion, '1.0.0')) {
466
+ clonedStep.settings.pieceVersion = `~${pieceVersion}`;
467
+ }
468
+ else {
469
+ clonedStep.settings.pieceVersion = `^${pieceVersion}`;
470
+ }
471
+ break;
472
+ }
473
+ }
474
+ return clonedStep;
475
+ }
476
+ // TODO Remove this in 2024, these pieces didn't follow the standarad versioning where the minor version has to be increased when there is breaking change.
477
+ function isLegacyApp({ pieceName, pieceVersion }) {
478
+ let newVersion = pieceVersion;
479
+ if (newVersion.startsWith("^") || newVersion.startsWith("~")) {
480
+ newVersion = newVersion.substring(1);
481
+ }
482
+ if (pieceName === '@activepieces/piece-google-sheets' &&
483
+ semver_1.default.lt(newVersion, '0.3.0')) {
484
+ return true;
485
+ }
486
+ if (pieceName === '@activepieces/piece-gmail' &&
487
+ semver_1.default.lt(newVersion, '0.3.0')) {
488
+ return true;
489
+ }
490
+ return false;
491
+ }
387
492
  exports.flowHelper = {
388
493
  isValid: isValid,
389
494
  apply(flowVersion, operation) {
@@ -399,16 +504,18 @@ exports.flowHelper = {
399
504
  clonedVersion.displayName = operation.request.displayName;
400
505
  break;
401
506
  case flow_operations_1.FlowOperationType.DELETE_ACTION:
402
- deleteAction(clonedVersion, operation.request);
507
+ clonedVersion = deleteAction(clonedVersion, operation.request);
403
508
  break;
404
- case flow_operations_1.FlowOperationType.ADD_ACTION:
405
- addAction(clonedVersion, operation.request);
509
+ case flow_operations_1.FlowOperationType.ADD_ACTION: {
510
+ clonedVersion = transferFlow(addAction(clonedVersion, operation.request), (step) => upgradePiece(step, operation.request.action.name));
406
511
  break;
512
+ }
407
513
  case flow_operations_1.FlowOperationType.UPDATE_ACTION:
408
- updateAction(clonedVersion, operation.request);
514
+ clonedVersion = transferFlow(updateAction(clonedVersion, operation.request), (step) => upgradePiece(step, operation.request.name));
409
515
  break;
410
516
  case flow_operations_1.FlowOperationType.UPDATE_TRIGGER:
411
517
  clonedVersion.trigger = createTrigger(clonedVersion.trigger.name, operation.request, clonedVersion.trigger.nextAction);
518
+ clonedVersion = transferFlow(clonedVersion, (step) => upgradePiece(step, operation.request.name));
412
519
  break;
413
520
  }
414
521
  clonedVersion.valid = isValid(clonedVersion);
@@ -423,6 +530,7 @@ exports.flowHelper = {
423
530
  getAllSubFlowSteps,
424
531
  getStepFromSubFlow,
425
532
  isChildOf,
533
+ transferFlowAsync,
426
534
  getAllChildSteps,
427
535
  getAllStepsAtFirstLevel
428
536
  };
@@ -1 +1 @@
1
- {"version":3,"file":"flow-helper.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flows/flow-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-helper.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flows/flow-helper.ts"],"names":[],"mappings":"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"}