@pxp-nd/flow 1.0.67 → 1.0.69

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.
@@ -22,7 +22,7 @@ import { Controller } from '@pxp-nd/core';
22
22
  declare class Flow extends Controller {
23
23
  get(params: Record<string, any>): Promise<unknown>;
24
24
  copyNodeConnections(nodeId: number, newNodeId: number, newFlowId: number, manager: EntityManager): Promise<void>;
25
- copyNode(node: Record<any, any>, newFlowId: number, manager: EntityManager): Promise<{
25
+ copyNode(node: Record<any, any>, newFlowId: number, manager: EntityManager, isFirst?: boolean): Promise<{
26
26
  nodeId: any;
27
27
  }>;
28
28
  createFlowFromFlow(params: Record<string, any>, manager: EntityManager): Promise<unknown>;
@@ -73,12 +73,20 @@ let Flow = class Flow extends core_1.Controller {
73
73
  const insertNewNodeConnection = await (0, core_1.__)(manager.save(NodeConnection_1.default, newNodeConnection));
74
74
  }
75
75
  }
76
- async copyNode(node, newFlowId, manager) {
76
+ async copyNode(node, newFlowId, manager, isFirst = false) {
77
77
  // insert new node
78
78
  const newNode = new Node_1.default();
79
- const { nodeId, flowId, createdAt, modifiedAt, actionConfigJson, ...nodeToCopy } = node;
79
+ const { nodeId, flowId, createdAt, modifiedAt, ...nodeToCopy } = node;
80
80
  Object.assign(newNode, { ...nodeToCopy, flowId: newFlowId });
81
81
  const insertNewNode = await (0, core_1.__)(manager.save(Node_1.default, newNode));
82
+ if (isFirst) {
83
+ const duplicatedConnection = manager.create(NodeConnection_1.default, {
84
+ nodeConnectionId: undefined,
85
+ nodeIdMaster: undefined,
86
+ nodeIdChild: insertNewNode.nodeId,
87
+ });
88
+ await manager.save(duplicatedConnection);
89
+ }
82
90
  // insert connection
83
91
  await this.copyNodeConnections(node.nodeId, insertNewNode.nodeId, newFlowId, manager);
84
92
  return { nodeId: insertNewNode.nodeId };
@@ -160,7 +168,8 @@ let Flow = class Flow extends core_1.Controller {
160
168
  ...flowData,
161
169
  flowId: undefined,
162
170
  nodes: [],
163
- createdAt: undefined,
171
+ createdAt: new Date(),
172
+ modifiedAt: new Date(),
164
173
  status: 'off'
165
174
  };
166
175
  let flowDataClone;
@@ -172,7 +181,7 @@ let Flow = class Flow extends core_1.Controller {
172
181
  flowDataClone = await manager.save(Flow_1.default, { ...flowToClone, name: `${flowData.name} Copy` });
173
182
  }
174
183
  const dataNode = await Node_1.default.findOne({ where: { flowId: params.flowId, isInit: 'Y', isActive: true }, order: { nodeId: "ASC" } });
175
- dataNode && await this.copyNode(dataNode, flowDataClone.flowId, manager);
184
+ dataNode && await this.copyNode(dataNode, flowDataClone.flowId, manager, true);
176
185
  return { success: true, flowId: flowDataClone.flowId };
177
186
  }
178
187
  else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pxp-nd/flow",
3
- "version": "1.0.67",
3
+ "version": "1.0.69",
4
4
  "description": "Workflow module for pxp-nd framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",