@nocobase/plugin-workflow 0.11.1-alpha.4 → 0.12.0-alpha.1

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.
Files changed (537) hide show
  1. package/client.d.ts +2 -3
  2. package/client.js +1 -1
  3. package/dist/client/index.js +7802 -0
  4. package/{lib → dist}/client/nodes/aggregate.d.ts +1 -5
  5. package/{lib → dist}/client/nodes/create.d.ts +1 -2
  6. package/{lib → dist}/client/nodes/destroy.d.ts +1 -1
  7. package/{lib → dist}/client/nodes/query.d.ts +1 -2
  8. package/{lib → dist}/client/nodes/request.d.ts +1 -2
  9. package/{lib → dist}/client/nodes/update.d.ts +1 -1
  10. package/{lib → dist}/client/schemas/collection.d.ts +1 -2
  11. package/{lib → dist}/client/triggers/collection.d.ts +6 -7
  12. package/{lib → dist}/index.d.ts +1 -0
  13. package/dist/index.js +18 -0
  14. package/dist/locale/en-US.js +133 -0
  15. package/{lib → dist}/locale/es-ES.js +51 -54
  16. package/dist/locale/fr-FR.js +133 -0
  17. package/dist/locale/ja-JP.js +91 -0
  18. package/dist/locale/pt-BR.js +133 -0
  19. package/dist/locale/ru-RU.js +91 -0
  20. package/dist/locale/tr-TR.js +91 -0
  21. package/dist/locale/zh-CN.js +216 -0
  22. package/dist/node_modules/cron-parser/.eslintrc.json +15 -0
  23. package/dist/node_modules/cron-parser/.travis.yml +7 -0
  24. package/dist/node_modules/cron-parser/LICENSE +21 -0
  25. package/dist/node_modules/cron-parser/component.json +11 -0
  26. package/dist/node_modules/cron-parser/index.d.ts +1 -0
  27. package/dist/node_modules/cron-parser/lib/date.js +252 -0
  28. package/dist/node_modules/cron-parser/lib/expression.js +983 -0
  29. package/dist/node_modules/cron-parser/lib/field_compactor.js +70 -0
  30. package/dist/node_modules/cron-parser/lib/field_stringify.js +38 -0
  31. package/dist/node_modules/cron-parser/lib/parser.js +1 -0
  32. package/dist/node_modules/cron-parser/node_modules/luxon/build/amd/luxon.js +8489 -0
  33. package/dist/node_modules/cron-parser/node_modules/luxon/build/cjs-browser/luxon.js +8487 -0
  34. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.js +8490 -0
  35. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.min.js +1 -0
  36. package/dist/node_modules/cron-parser/node_modules/luxon/build/node/luxon.js +7522 -0
  37. package/dist/node_modules/cron-parser/node_modules/luxon/package.json +96 -0
  38. package/dist/node_modules/cron-parser/node_modules/luxon/src/datetime.js +2169 -0
  39. package/dist/node_modules/cron-parser/node_modules/luxon/src/duration.js +880 -0
  40. package/dist/node_modules/cron-parser/node_modules/luxon/src/errors.js +61 -0
  41. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/conversions.js +157 -0
  42. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/diff.js +80 -0
  43. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/digits.js +76 -0
  44. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/english.js +233 -0
  45. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formats.js +191 -0
  46. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formatter.js +386 -0
  47. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/invalid.js +14 -0
  48. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/locale.js +482 -0
  49. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/regexParser.js +335 -0
  50. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/tokenParser.js +424 -0
  51. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/util.js +292 -0
  52. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/zoneUtil.js +36 -0
  53. package/dist/node_modules/cron-parser/node_modules/luxon/src/info.js +193 -0
  54. package/dist/node_modules/cron-parser/node_modules/luxon/src/interval.js +602 -0
  55. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxon.js +26 -0
  56. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxonFilled.js +13 -0
  57. package/dist/node_modules/cron-parser/node_modules/luxon/src/settings.js +137 -0
  58. package/dist/node_modules/cron-parser/node_modules/luxon/src/zone.js +88 -0
  59. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/IANAZone.js +191 -0
  60. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/fixedOffsetZone.js +94 -0
  61. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/invalidZone.js +53 -0
  62. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/localZone.js +63 -0
  63. package/dist/node_modules/cron-parser/package.json +1 -0
  64. package/dist/node_modules/cron-parser/test/31_of_month.js +17 -0
  65. package/dist/node_modules/cron-parser/test/bug.js +29 -0
  66. package/dist/node_modules/cron-parser/test/crondate.js +16 -0
  67. package/dist/node_modules/cron-parser/test/crontab.example +7 -0
  68. package/dist/node_modules/cron-parser/test/empty_around_comma.js +22 -0
  69. package/dist/node_modules/cron-parser/test/expression.js +1489 -0
  70. package/dist/node_modules/cron-parser/test/field_compactor.js +250 -0
  71. package/dist/node_modules/cron-parser/test/field_stringify.js +84 -0
  72. package/dist/node_modules/cron-parser/test/fields.js +32 -0
  73. package/dist/node_modules/cron-parser/test/increment_on_first_iteration.js +22 -0
  74. package/dist/node_modules/cron-parser/test/index-ts3.test-d.ts +133 -0
  75. package/dist/node_modules/cron-parser/test/index.test-d.ts +138 -0
  76. package/dist/node_modules/cron-parser/test/leap_year.js +17 -0
  77. package/dist/node_modules/cron-parser/test/parser.js +46 -0
  78. package/dist/node_modules/cron-parser/test/parser_crondate_formats.js +145 -0
  79. package/dist/node_modules/cron-parser/test/parser_day_of_month.js +169 -0
  80. package/dist/node_modules/cron-parser/test/prev_date.js +32 -0
  81. package/dist/node_modules/cron-parser/test/stringify.js +402 -0
  82. package/dist/node_modules/cron-parser/test/timezone.js +422 -0
  83. package/dist/node_modules/cron-parser/types/common.d.ts +131 -0
  84. package/dist/node_modules/cron-parser/types/index.d.ts +45 -0
  85. package/dist/node_modules/cron-parser/types/ts3/index.d.ts +28 -0
  86. package/dist/node_modules/lru-cache/index-cjs.d.ts +7 -0
  87. package/dist/node_modules/lru-cache/index-cjs.js +1 -0
  88. package/dist/node_modules/lru-cache/index.d.ts +807 -0
  89. package/dist/node_modules/lru-cache/index.js +1334 -0
  90. package/dist/node_modules/lru-cache/index.min.js +2 -0
  91. package/dist/node_modules/lru-cache/package.json +1 -0
  92. package/dist/server/Plugin.js +297 -0
  93. package/{src/server/Processor.ts → dist/server/Processor.js} +80 -147
  94. package/dist/server/actions/index.js +49 -0
  95. package/{src/server/actions/nodes.ts → dist/server/actions/nodes.js} +55 -81
  96. package/{src/server/actions/workflows.ts → dist/server/actions/workflows.js} +60 -72
  97. package/dist/server/collections/executions.js +37 -0
  98. package/dist/server/collections/flow_nodes.js +56 -0
  99. package/dist/server/collections/jobs.js +33 -0
  100. package/dist/server/collections/workflows.js +90 -0
  101. package/{lib → dist}/server/constants.js +5 -8
  102. package/dist/server/fields/expression-field.js +11 -0
  103. package/dist/server/fields/index.js +11 -0
  104. package/dist/server/functions/index.js +13 -0
  105. package/dist/server/index.js +41 -0
  106. package/dist/server/instructions/aggregate.js +37 -0
  107. package/dist/server/instructions/calculation.js +34 -0
  108. package/dist/server/instructions/condition.js +123 -0
  109. package/{src/server/instructions/create.ts → dist/server/instructions/create.js} +17 -17
  110. package/dist/server/instructions/delay.js +87 -0
  111. package/dist/server/instructions/destroy.js +24 -0
  112. package/dist/server/instructions/index.js +40 -0
  113. package/{src/server/instructions/loop.ts → dist/server/instructions/loop.js} +21 -43
  114. package/{src/server/instructions/manual/actions.ts → dist/server/instructions/manual/actions.js} +18 -44
  115. package/dist/server/instructions/manual/collecions/jobs.js +21 -0
  116. package/dist/server/instructions/manual/collecions/users.js +19 -0
  117. package/dist/server/instructions/manual/collecions/users_jobs.js +52 -0
  118. package/{src/server/instructions/manual/forms/create.ts → dist/server/instructions/manual/forms/create.js} +8 -8
  119. package/dist/server/instructions/manual/forms/index.js +16 -0
  120. package/{src/server/instructions/manual/forms/update.ts → dist/server/instructions/manual/forms/update.js} +8 -8
  121. package/dist/server/instructions/manual/index.js +160 -0
  122. package/dist/server/instructions/parallel.js +105 -0
  123. package/dist/server/instructions/query.js +36 -0
  124. package/dist/server/instructions/request.js +69 -0
  125. package/dist/server/instructions/sql.js +26 -0
  126. package/dist/server/instructions/update.js +24 -0
  127. package/{src/server/migrations/20221129153547-calculation-variables.ts → dist/server/migrations/20221129153547-calculation-variables.js} +20 -19
  128. package/dist/server/migrations/20230221032941-change-request-body-type.js +71 -0
  129. package/dist/server/migrations/20230221071831-calculation-expression.js +94 -0
  130. package/dist/server/migrations/20230221121203-condition-calculation.js +41 -0
  131. package/dist/server/migrations/20230221162902-jsonb-to-json.js +52 -0
  132. package/dist/server/migrations/20230411034722-manual-multi-form.js +252 -0
  133. package/dist/server/migrations/20230612021134-manual-collection-block.js +126 -0
  134. package/dist/server/migrations/20230710115902-manual-action-values.js +74 -0
  135. package/{src/server/triggers/collection.ts → dist/server/triggers/collection.js} +34 -64
  136. package/dist/server/triggers/index.js +27 -0
  137. package/{src/server/triggers/schedule.ts → dist/server/triggers/schedule.js} +108 -220
  138. package/dist/server/types/Execution.js +8 -0
  139. package/dist/server/types/FlowNode.js +8 -0
  140. package/dist/server/types/Job.js +8 -0
  141. package/dist/server/types/Workflow.js +8 -0
  142. package/dist/server/types/index.js +2 -0
  143. package/{lib → dist}/server/utils.js +6 -8
  144. package/package.json +26 -37
  145. package/server.d.ts +2 -3
  146. package/server.js +1 -1
  147. package/lib/client/AddButton.js +0 -161
  148. package/lib/client/Branch.js +0 -50
  149. package/lib/client/CanvasContent.js +0 -51
  150. package/lib/client/ExecutionCanvas.js +0 -218
  151. package/lib/client/ExecutionLink.js +0 -48
  152. package/lib/client/ExecutionPage.js +0 -68
  153. package/lib/client/ExecutionResourceProvider.js +0 -48
  154. package/lib/client/FlowContext.js +0 -21
  155. package/lib/client/WorkflowCanvas.js +0 -300
  156. package/lib/client/WorkflowLink.js +0 -48
  157. package/lib/client/WorkflowPage.js +0 -70
  158. package/lib/client/WorkflowProvider.js +0 -100
  159. package/lib/client/components/CollectionBlockInitializer.js +0 -103
  160. package/lib/client/components/CollectionFieldset.js +0 -198
  161. package/lib/client/components/Duration.js +0 -72
  162. package/lib/client/components/DynamicExpression.js +0 -117
  163. package/lib/client/components/FieldsSelect.js +0 -72
  164. package/lib/client/components/FilterDynamicComponent.js +0 -34
  165. package/lib/client/components/NodeDescription.js +0 -73
  166. package/lib/client/components/NullRender.js +0 -9
  167. package/lib/client/components/OpenDrawer.js +0 -68
  168. package/lib/client/components/RadioWithTooltip.js +0 -65
  169. package/lib/client/components/ValueBlock.js +0 -103
  170. package/lib/client/components/renderEngineReference.js +0 -49
  171. package/lib/client/constants.js +0 -126
  172. package/lib/client/index.js +0 -121
  173. package/lib/client/interfaces/expression.js +0 -38
  174. package/lib/client/locale/index.js +0 -42
  175. package/lib/client/nodes/aggregate.js +0 -353
  176. package/lib/client/nodes/calculation.js +0 -292
  177. package/lib/client/nodes/condition.js +0 -531
  178. package/lib/client/nodes/create.js +0 -110
  179. package/lib/client/nodes/delay.js +0 -47
  180. package/lib/client/nodes/destroy.js +0 -49
  181. package/lib/client/nodes/index.js +0 -550
  182. package/lib/client/nodes/loop.js +0 -171
  183. package/lib/client/nodes/manual/AssigneesSelect.js +0 -56
  184. package/lib/client/nodes/manual/DetailsBlockProvider.js +0 -106
  185. package/lib/client/nodes/manual/FormBlockInitializer.js +0 -107
  186. package/lib/client/nodes/manual/FormBlockProvider.js +0 -113
  187. package/lib/client/nodes/manual/ModeConfig.js +0 -126
  188. package/lib/client/nodes/manual/SchemaConfig.js +0 -468
  189. package/lib/client/nodes/manual/WorkflowTodo.js +0 -642
  190. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.js +0 -60
  191. package/lib/client/nodes/manual/forms/create.js +0 -111
  192. package/lib/client/nodes/manual/forms/custom.js +0 -428
  193. package/lib/client/nodes/manual/forms/update.js +0 -168
  194. package/lib/client/nodes/manual/index.js +0 -168
  195. package/lib/client/nodes/manual/utils.js +0 -31
  196. package/lib/client/nodes/parallel.js +0 -162
  197. package/lib/client/nodes/query.js +0 -112
  198. package/lib/client/nodes/request.js +0 -225
  199. package/lib/client/nodes/sql.js +0 -61
  200. package/lib/client/nodes/update.js +0 -127
  201. package/lib/client/schemas/collection.js +0 -93
  202. package/lib/client/schemas/executions.js +0 -190
  203. package/lib/client/schemas/workflows.js +0 -397
  204. package/lib/client/style.js +0 -350
  205. package/lib/client/triggers/collection.js +0 -188
  206. package/lib/client/triggers/index.js +0 -356
  207. package/lib/client/triggers/schedule/EndsByField.js +0 -71
  208. package/lib/client/triggers/schedule/OnField.js +0 -117
  209. package/lib/client/triggers/schedule/RepeatField.js +0 -155
  210. package/lib/client/triggers/schedule/ScheduleConfig.js +0 -251
  211. package/lib/client/triggers/schedule/constants.js +0 -11
  212. package/lib/client/triggers/schedule/index.js +0 -101
  213. package/lib/client/triggers/schedule/locale/Cron.zh-CN.js +0 -48
  214. package/lib/client/utils.js +0 -59
  215. package/lib/client/variable.js +0 -319
  216. package/lib/index.js +0 -13
  217. package/lib/locale/en-US.js +0 -136
  218. package/lib/locale/fr-FR.js +0 -136
  219. package/lib/locale/ja-JP.js +0 -94
  220. package/lib/locale/pt-BR.js +0 -136
  221. package/lib/locale/ru-RU.js +0 -94
  222. package/lib/locale/tr-TR.js +0 -94
  223. package/lib/locale/zh-CN.js +0 -219
  224. package/lib/server/Plugin.js +0 -382
  225. package/lib/server/Processor.js +0 -394
  226. package/lib/server/actions/index.js +0 -30
  227. package/lib/server/actions/nodes.js +0 -269
  228. package/lib/server/actions/workflows.js +0 -273
  229. package/lib/server/collections/executions.js +0 -33
  230. package/lib/server/collections/flow_nodes.js +0 -53
  231. package/lib/server/collections/jobs.js +0 -30
  232. package/lib/server/collections/workflows.js +0 -76
  233. package/lib/server/fields/expression-field.js +0 -19
  234. package/lib/server/fields/index.js +0 -12
  235. package/lib/server/functions/index.js +0 -26
  236. package/lib/server/index.js +0 -55
  237. package/lib/server/instructions/aggregate.js +0 -57
  238. package/lib/server/instructions/calculation.js +0 -59
  239. package/lib/server/instructions/condition.js +0 -150
  240. package/lib/server/instructions/create.js +0 -60
  241. package/lib/server/instructions/delay.js +0 -118
  242. package/lib/server/instructions/destroy.js +0 -37
  243. package/lib/server/instructions/index.js +0 -44
  244. package/lib/server/instructions/loop.js +0 -107
  245. package/lib/server/instructions/manual/actions.js +0 -99
  246. package/lib/server/instructions/manual/collecions/jobs.js +0 -21
  247. package/lib/server/instructions/manual/collecions/users.js +0 -19
  248. package/lib/server/instructions/manual/collecions/users_jobs.js +0 -46
  249. package/lib/server/instructions/manual/forms/create.js +0 -52
  250. package/lib/server/instructions/manual/forms/index.js +0 -15
  251. package/lib/server/instructions/manual/forms/update.js +0 -53
  252. package/lib/server/instructions/manual/index.js +0 -174
  253. package/lib/server/instructions/parallel.js +0 -128
  254. package/lib/server/instructions/query.js +0 -53
  255. package/lib/server/instructions/request.js +0 -99
  256. package/lib/server/instructions/sql.js +0 -34
  257. package/lib/server/instructions/update.js +0 -38
  258. package/lib/server/migrations/20221129153547-calculation-variables.js +0 -92
  259. package/lib/server/migrations/20230221032941-change-request-body-type.js +0 -90
  260. package/lib/server/migrations/20230221071831-calculation-expression.js +0 -111
  261. package/lib/server/migrations/20230221121203-condition-calculation.js +0 -103
  262. package/lib/server/migrations/20230221162902-jsonb-to-json.js +0 -64
  263. package/lib/server/migrations/20230411034722-manual-multi-form.js +0 -297
  264. package/lib/server/migrations/20230612021134-manual-collection-block.js +0 -155
  265. package/lib/server/migrations/20230710115902-manual-action-values.js +0 -97
  266. package/lib/server/triggers/collection.js +0 -175
  267. package/lib/server/triggers/index.js +0 -46
  268. package/lib/server/triggers/schedule.js +0 -582
  269. package/lib/server/types/Execution.js +0 -15
  270. package/lib/server/types/FlowNode.js +0 -15
  271. package/lib/server/types/Job.js +0 -15
  272. package/lib/server/types/Workflow.js +0 -15
  273. package/lib/server/types/index.js +0 -5
  274. package/src/client/AddButton.tsx +0 -111
  275. package/src/client/Branch.tsx +0 -37
  276. package/src/client/CanvasContent.tsx +0 -25
  277. package/src/client/ExecutionCanvas.tsx +0 -166
  278. package/src/client/ExecutionLink.tsx +0 -16
  279. package/src/client/ExecutionPage.tsx +0 -45
  280. package/src/client/ExecutionResourceProvider.tsx +0 -21
  281. package/src/client/FlowContext.ts +0 -7
  282. package/src/client/WorkflowCanvas.tsx +0 -221
  283. package/src/client/WorkflowLink.tsx +0 -16
  284. package/src/client/WorkflowPage.tsx +0 -52
  285. package/src/client/WorkflowProvider.tsx +0 -84
  286. package/src/client/components/CollectionBlockInitializer.tsx +0 -71
  287. package/src/client/components/CollectionFieldset.tsx +0 -152
  288. package/src/client/components/Duration.tsx +0 -45
  289. package/src/client/components/DynamicExpression.tsx +0 -57
  290. package/src/client/components/FieldsSelect.tsx +0 -32
  291. package/src/client/components/FilterDynamicComponent.tsx +0 -15
  292. package/src/client/components/NodeDescription.tsx +0 -51
  293. package/src/client/components/NullRender.tsx +0 -3
  294. package/src/client/components/OpenDrawer.tsx +0 -24
  295. package/src/client/components/RadioWithTooltip.tsx +0 -38
  296. package/src/client/components/ValueBlock.tsx +0 -67
  297. package/src/client/components/renderEngineReference.tsx +0 -30
  298. package/src/client/constants.tsx +0 -91
  299. package/src/client/index.tsx +0 -51
  300. package/src/client/interfaces/expression.tsx +0 -25
  301. package/src/client/locale/index.ts +0 -18
  302. package/src/client/nodes/aggregate.tsx +0 -327
  303. package/src/client/nodes/calculation.tsx +0 -216
  304. package/src/client/nodes/condition.tsx +0 -463
  305. package/src/client/nodes/create.tsx +0 -85
  306. package/src/client/nodes/delay.tsx +0 -37
  307. package/src/client/nodes/destroy.tsx +0 -34
  308. package/src/client/nodes/index.tsx +0 -500
  309. package/src/client/nodes/loop.tsx +0 -144
  310. package/src/client/nodes/manual/AssigneesSelect.tsx +0 -33
  311. package/src/client/nodes/manual/DetailsBlockProvider.tsx +0 -80
  312. package/src/client/nodes/manual/FormBlockInitializer.tsx +0 -69
  313. package/src/client/nodes/manual/FormBlockProvider.tsx +0 -75
  314. package/src/client/nodes/manual/ModeConfig.tsx +0 -84
  315. package/src/client/nodes/manual/SchemaConfig.tsx +0 -509
  316. package/src/client/nodes/manual/WorkflowTodo.tsx +0 -607
  317. package/src/client/nodes/manual/WorkflowTodoBlockInitializer.tsx +0 -28
  318. package/src/client/nodes/manual/forms/create.tsx +0 -92
  319. package/src/client/nodes/manual/forms/custom.tsx +0 -392
  320. package/src/client/nodes/manual/forms/update.tsx +0 -134
  321. package/src/client/nodes/manual/index.tsx +0 -162
  322. package/src/client/nodes/manual/utils.ts +0 -28
  323. package/src/client/nodes/parallel.tsx +0 -138
  324. package/src/client/nodes/query.tsx +0 -88
  325. package/src/client/nodes/request.tsx +0 -185
  326. package/src/client/nodes/sql.tsx +0 -37
  327. package/src/client/nodes/update.tsx +0 -100
  328. package/src/client/schemas/collection.ts +0 -75
  329. package/src/client/schemas/executions.tsx +0 -169
  330. package/src/client/schemas/workflows.ts +0 -364
  331. package/src/client/style.tsx +0 -350
  332. package/src/client/triggers/collection.tsx +0 -190
  333. package/src/client/triggers/index.tsx +0 -311
  334. package/src/client/triggers/schedule/EndsByField.tsx +0 -40
  335. package/src/client/triggers/schedule/OnField.tsx +0 -64
  336. package/src/client/triggers/schedule/RepeatField.tsx +0 -116
  337. package/src/client/triggers/schedule/ScheduleConfig.tsx +0 -227
  338. package/src/client/triggers/schedule/constants.ts +0 -4
  339. package/src/client/triggers/schedule/index.tsx +0 -78
  340. package/src/client/triggers/schedule/locale/Cron.zh-CN.ts +0 -79
  341. package/src/client/utils.ts +0 -36
  342. package/src/client/variable.tsx +0 -318
  343. package/src/index.ts +0 -1
  344. package/src/locale/en-US.ts +0 -136
  345. package/src/locale/es-ES.ts +0 -129
  346. package/src/locale/fr-FR.ts +0 -137
  347. package/src/locale/ja-JP.ts +0 -90
  348. package/src/locale/pt-BR.ts +0 -136
  349. package/src/locale/ru-RU.ts +0 -90
  350. package/src/locale/tr-TR.ts +0 -90
  351. package/src/locale/zh-CN.ts +0 -248
  352. package/src/server/Plugin.ts +0 -355
  353. package/src/server/__tests__/Plugin.test.ts +0 -398
  354. package/src/server/__tests__/Processor.test.ts +0 -474
  355. package/src/server/__tests__/actions/workflows.test.ts +0 -419
  356. package/src/server/__tests__/collections/categories.ts +0 -27
  357. package/src/server/__tests__/collections/comments.ts +0 -24
  358. package/src/server/__tests__/collections/posts.ts +0 -42
  359. package/src/server/__tests__/collections/replies.ts +0 -9
  360. package/src/server/__tests__/collections/tags.ts +0 -15
  361. package/src/server/__tests__/index.ts +0 -89
  362. package/src/server/__tests__/instructions/aggregate.test.ts +0 -294
  363. package/src/server/__tests__/instructions/calculation.test.ts +0 -265
  364. package/src/server/__tests__/instructions/condition.test.ts +0 -335
  365. package/src/server/__tests__/instructions/create.test.ts +0 -129
  366. package/src/server/__tests__/instructions/delay.test.ts +0 -182
  367. package/src/server/__tests__/instructions/destroy.test.ts +0 -58
  368. package/src/server/__tests__/instructions/loop.test.ts +0 -331
  369. package/src/server/__tests__/instructions/manual.test.ts +0 -1173
  370. package/src/server/__tests__/instructions/parallel.test.ts +0 -445
  371. package/src/server/__tests__/instructions/query.test.ts +0 -359
  372. package/src/server/__tests__/instructions/request.test.ts +0 -247
  373. package/src/server/__tests__/instructions/sql.test.ts +0 -162
  374. package/src/server/__tests__/instructions/update.test.ts +0 -189
  375. package/src/server/__tests__/triggers/collection.test.ts +0 -333
  376. package/src/server/__tests__/triggers/schedule.test.ts +0 -369
  377. package/src/server/actions/index.ts +0 -25
  378. package/src/server/collections/executions.ts +0 -35
  379. package/src/server/collections/flow_nodes.ts +0 -54
  380. package/src/server/collections/jobs.ts +0 -31
  381. package/src/server/collections/workflows.ts +0 -88
  382. package/src/server/constants.ts +0 -26
  383. package/src/server/fields/expression-field.ts +0 -11
  384. package/src/server/fields/index.ts +0 -7
  385. package/src/server/functions/index.ts +0 -16
  386. package/src/server/index.ts +0 -6
  387. package/src/server/instructions/aggregate.ts +0 -42
  388. package/src/server/instructions/calculation.ts +0 -41
  389. package/src/server/instructions/condition.ts +0 -172
  390. package/src/server/instructions/delay.ts +0 -105
  391. package/src/server/instructions/destroy.ts +0 -23
  392. package/src/server/instructions/index.ts +0 -64
  393. package/src/server/instructions/manual/collecions/jobs.ts +0 -17
  394. package/src/server/instructions/manual/collecions/users.ts +0 -15
  395. package/src/server/instructions/manual/collecions/users_jobs.ts +0 -50
  396. package/src/server/instructions/manual/forms/index.ts +0 -12
  397. package/src/server/instructions/manual/index.ts +0 -184
  398. package/src/server/instructions/parallel.ts +0 -121
  399. package/src/server/instructions/query.ts +0 -42
  400. package/src/server/instructions/request.ts +0 -88
  401. package/src/server/instructions/sql.ts +0 -25
  402. package/src/server/instructions/update.ts +0 -24
  403. package/src/server/migrations/20230221032941-change-request-body-type.ts +0 -76
  404. package/src/server/migrations/20230221071831-calculation-expression.ts +0 -102
  405. package/src/server/migrations/20230221121203-condition-calculation.ts +0 -82
  406. package/src/server/migrations/20230221162902-jsonb-to-json.ts +0 -51
  407. package/src/server/migrations/20230411034722-manual-multi-form.ts +0 -282
  408. package/src/server/migrations/20230612021134-manual-collection-block.ts +0 -138
  409. package/src/server/migrations/20230710115902-manual-action-values.ts +0 -78
  410. package/src/server/triggers/index.ts +0 -22
  411. package/src/server/types/Execution.ts +0 -26
  412. package/src/server/types/FlowNode.ts +0 -21
  413. package/src/server/types/Job.ts +0 -18
  414. package/src/server/types/Workflow.ts +0 -36
  415. package/src/server/types/index.ts +0 -4
  416. package/src/server/utils.ts +0 -17
  417. /package/{lib → dist}/client/AddButton.d.ts +0 -0
  418. /package/{lib → dist}/client/Branch.d.ts +0 -0
  419. /package/{lib → dist}/client/CanvasContent.d.ts +0 -0
  420. /package/{lib → dist}/client/ExecutionCanvas.d.ts +0 -0
  421. /package/{lib → dist}/client/ExecutionLink.d.ts +0 -0
  422. /package/{lib → dist}/client/ExecutionPage.d.ts +0 -0
  423. /package/{lib → dist}/client/ExecutionResourceProvider.d.ts +0 -0
  424. /package/{lib → dist}/client/FlowContext.d.ts +0 -0
  425. /package/{lib → dist}/client/WorkflowCanvas.d.ts +0 -0
  426. /package/{lib → dist}/client/WorkflowLink.d.ts +0 -0
  427. /package/{lib → dist}/client/WorkflowPage.d.ts +0 -0
  428. /package/{lib → dist}/client/WorkflowProvider.d.ts +0 -0
  429. /package/{lib → dist}/client/components/CollectionBlockInitializer.d.ts +0 -0
  430. /package/{lib → dist}/client/components/CollectionFieldset.d.ts +0 -0
  431. /package/{lib → dist}/client/components/Duration.d.ts +0 -0
  432. /package/{lib → dist}/client/components/DynamicExpression.d.ts +0 -0
  433. /package/{lib → dist}/client/components/FieldsSelect.d.ts +0 -0
  434. /package/{lib → dist}/client/components/FilterDynamicComponent.d.ts +0 -0
  435. /package/{lib → dist}/client/components/NodeDescription.d.ts +0 -0
  436. /package/{lib → dist}/client/components/NullRender.d.ts +0 -0
  437. /package/{lib → dist}/client/components/OpenDrawer.d.ts +0 -0
  438. /package/{lib → dist}/client/components/RadioWithTooltip.d.ts +0 -0
  439. /package/{lib → dist}/client/components/ValueBlock.d.ts +0 -0
  440. /package/{lib → dist}/client/components/renderEngineReference.d.ts +0 -0
  441. /package/{lib → dist}/client/constants.d.ts +0 -0
  442. /package/{lib → dist}/client/index.d.ts +0 -0
  443. /package/{lib → dist}/client/interfaces/expression.d.ts +0 -0
  444. /package/{lib → dist}/client/locale/index.d.ts +0 -0
  445. /package/{lib → dist}/client/nodes/calculation.d.ts +0 -0
  446. /package/{lib → dist}/client/nodes/condition.d.ts +0 -0
  447. /package/{lib → dist}/client/nodes/delay.d.ts +0 -0
  448. /package/{lib → dist}/client/nodes/index.d.ts +0 -0
  449. /package/{lib → dist}/client/nodes/loop.d.ts +0 -0
  450. /package/{lib → dist}/client/nodes/manual/AssigneesSelect.d.ts +0 -0
  451. /package/{lib → dist}/client/nodes/manual/DetailsBlockProvider.d.ts +0 -0
  452. /package/{lib → dist}/client/nodes/manual/FormBlockInitializer.d.ts +0 -0
  453. /package/{lib → dist}/client/nodes/manual/FormBlockProvider.d.ts +0 -0
  454. /package/{lib → dist}/client/nodes/manual/ModeConfig.d.ts +0 -0
  455. /package/{lib → dist}/client/nodes/manual/SchemaConfig.d.ts +0 -0
  456. /package/{lib → dist}/client/nodes/manual/WorkflowTodo.d.ts +0 -0
  457. /package/{lib → dist}/client/nodes/manual/WorkflowTodoBlockInitializer.d.ts +0 -0
  458. /package/{lib → dist}/client/nodes/manual/forms/create.d.ts +0 -0
  459. /package/{lib → dist}/client/nodes/manual/forms/custom.d.ts +0 -0
  460. /package/{lib → dist}/client/nodes/manual/forms/update.d.ts +0 -0
  461. /package/{lib → dist}/client/nodes/manual/index.d.ts +0 -0
  462. /package/{lib → dist}/client/nodes/manual/utils.d.ts +0 -0
  463. /package/{lib → dist}/client/nodes/parallel.d.ts +0 -0
  464. /package/{lib → dist}/client/nodes/sql.d.ts +0 -0
  465. /package/{lib → dist}/client/schemas/executions.d.ts +0 -0
  466. /package/{lib → dist}/client/schemas/workflows.d.ts +0 -0
  467. /package/{lib → dist}/client/style.d.ts +0 -0
  468. /package/{lib → dist}/client/triggers/index.d.ts +0 -0
  469. /package/{lib → dist}/client/triggers/schedule/EndsByField.d.ts +0 -0
  470. /package/{lib → dist}/client/triggers/schedule/OnField.d.ts +0 -0
  471. /package/{lib → dist}/client/triggers/schedule/RepeatField.d.ts +0 -0
  472. /package/{lib → dist}/client/triggers/schedule/ScheduleConfig.d.ts +0 -0
  473. /package/{lib → dist}/client/triggers/schedule/constants.d.ts +0 -0
  474. /package/{lib → dist}/client/triggers/schedule/index.d.ts +0 -0
  475. /package/{lib → dist}/client/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -0
  476. /package/{lib → dist}/client/utils.d.ts +0 -0
  477. /package/{lib → dist}/client/variable.d.ts +0 -0
  478. /package/{lib → dist}/locale/en-US.d.ts +0 -0
  479. /package/{lib → dist}/locale/es-ES.d.ts +0 -0
  480. /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
  481. /package/{lib → dist}/locale/ja-JP.d.ts +0 -0
  482. /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
  483. /package/{lib → dist}/locale/ru-RU.d.ts +0 -0
  484. /package/{lib → dist}/locale/tr-TR.d.ts +0 -0
  485. /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
  486. /package/{lib → dist}/server/Plugin.d.ts +0 -0
  487. /package/{lib → dist}/server/Processor.d.ts +0 -0
  488. /package/{lib → dist}/server/actions/index.d.ts +0 -0
  489. /package/{lib → dist}/server/actions/nodes.d.ts +0 -0
  490. /package/{lib → dist}/server/actions/workflows.d.ts +0 -0
  491. /package/{lib → dist}/server/collections/executions.d.ts +0 -0
  492. /package/{lib → dist}/server/collections/flow_nodes.d.ts +0 -0
  493. /package/{lib → dist}/server/collections/jobs.d.ts +0 -0
  494. /package/{lib → dist}/server/collections/workflows.d.ts +0 -0
  495. /package/{lib → dist}/server/constants.d.ts +0 -0
  496. /package/{lib → dist}/server/fields/expression-field.d.ts +0 -0
  497. /package/{lib → dist}/server/fields/index.d.ts +0 -0
  498. /package/{lib → dist}/server/functions/index.d.ts +0 -0
  499. /package/{lib → dist}/server/index.d.ts +0 -0
  500. /package/{lib → dist}/server/instructions/aggregate.d.ts +0 -0
  501. /package/{lib → dist}/server/instructions/calculation.d.ts +0 -0
  502. /package/{lib → dist}/server/instructions/condition.d.ts +0 -0
  503. /package/{lib → dist}/server/instructions/create.d.ts +0 -0
  504. /package/{lib → dist}/server/instructions/delay.d.ts +0 -0
  505. /package/{lib → dist}/server/instructions/destroy.d.ts +0 -0
  506. /package/{lib → dist}/server/instructions/index.d.ts +0 -0
  507. /package/{lib → dist}/server/instructions/loop.d.ts +0 -0
  508. /package/{lib → dist}/server/instructions/manual/actions.d.ts +0 -0
  509. /package/{lib → dist}/server/instructions/manual/collecions/jobs.d.ts +0 -0
  510. /package/{lib → dist}/server/instructions/manual/collecions/users.d.ts +0 -0
  511. /package/{lib → dist}/server/instructions/manual/collecions/users_jobs.d.ts +0 -0
  512. /package/{lib → dist}/server/instructions/manual/forms/create.d.ts +0 -0
  513. /package/{lib → dist}/server/instructions/manual/forms/index.d.ts +0 -0
  514. /package/{lib → dist}/server/instructions/manual/forms/update.d.ts +0 -0
  515. /package/{lib → dist}/server/instructions/manual/index.d.ts +0 -0
  516. /package/{lib → dist}/server/instructions/parallel.d.ts +0 -0
  517. /package/{lib → dist}/server/instructions/query.d.ts +0 -0
  518. /package/{lib → dist}/server/instructions/request.d.ts +0 -0
  519. /package/{lib → dist}/server/instructions/sql.d.ts +0 -0
  520. /package/{lib → dist}/server/instructions/update.d.ts +0 -0
  521. /package/{lib → dist}/server/migrations/20221129153547-calculation-variables.d.ts +0 -0
  522. /package/{lib → dist}/server/migrations/20230221032941-change-request-body-type.d.ts +0 -0
  523. /package/{lib → dist}/server/migrations/20230221071831-calculation-expression.d.ts +0 -0
  524. /package/{lib → dist}/server/migrations/20230221121203-condition-calculation.d.ts +0 -0
  525. /package/{lib → dist}/server/migrations/20230221162902-jsonb-to-json.d.ts +0 -0
  526. /package/{lib → dist}/server/migrations/20230411034722-manual-multi-form.d.ts +0 -0
  527. /package/{lib → dist}/server/migrations/20230612021134-manual-collection-block.d.ts +0 -0
  528. /package/{lib → dist}/server/migrations/20230710115902-manual-action-values.d.ts +0 -0
  529. /package/{lib → dist}/server/triggers/collection.d.ts +0 -0
  530. /package/{lib → dist}/server/triggers/index.d.ts +0 -0
  531. /package/{lib → dist}/server/triggers/schedule.d.ts +0 -0
  532. /package/{lib → dist}/server/types/Execution.d.ts +0 -0
  533. /package/{lib → dist}/server/types/FlowNode.d.ts +0 -0
  534. /package/{lib → dist}/server/types/Job.d.ts +0 -0
  535. /package/{lib → dist}/server/types/Workflow.d.ts +0 -0
  536. /package/{lib → dist}/server/types/index.d.ts +0 -0
  537. /package/{lib → dist}/server/utils.d.ts +0 -0
@@ -1,104 +1,91 @@
1
- import { Context, utils } from '@nocobase/actions';
2
- import { MultipleRelationRepository, Op } from '@nocobase/database';
3
- import type { WorkflowModel } from '../types';
1
+ 'use strict';
4
2
 
5
- export async function create(context: Context, next) {
3
+ var actions = require('@nocobase/actions');
4
+ var database = require('@nocobase/database');
5
+
6
+ async function create(context, next) {
6
7
  const { db } = context;
7
- const repository = utils.getRepositoryFromParams(context) as MultipleRelationRepository;
8
+ const repository = actions.utils.getRepositoryFromParams(context);
8
9
  const { whitelist, blacklist, updateAssociationValues, values, associatedIndex: workflowId } = context.action.params;
9
-
10
10
  context.body = await db.sequelize.transaction(async (transaction) => {
11
- const workflow = (await repository.getSourceModel(transaction)) as WorkflowModel;
11
+ const workflow = await repository.getSourceModel(transaction);
12
12
  if (workflow.executed) {
13
- context.throw(400, 'Node could not be created in executed workflow');
13
+ context.throw(400, "Node could not be created in executed workflow");
14
14
  }
15
-
16
15
  const instance = await repository.create({
17
16
  values,
18
17
  whitelist,
19
18
  blacklist,
20
19
  updateAssociationValues,
21
20
  context,
22
- transaction,
21
+ transaction
23
22
  });
24
-
25
23
  if (!instance.upstreamId) {
26
24
  const previousHead = await repository.findOne({
27
25
  filter: {
28
26
  id: {
29
- $ne: instance.id,
27
+ $ne: instance.id
30
28
  },
31
- upstreamId: null,
29
+ upstreamId: null
32
30
  },
33
- transaction,
31
+ transaction
34
32
  });
35
33
  if (previousHead) {
36
34
  await previousHead.setUpstream(instance, { transaction });
37
35
  await instance.setDownstream(previousHead, { transaction });
38
- instance.set('downstream', previousHead);
36
+ instance.set("downstream", previousHead);
39
37
  }
40
38
  return instance;
41
39
  }
42
-
43
40
  const upstream = await instance.getUpstream({ transaction });
44
-
45
41
  if (instance.branchIndex == null) {
46
42
  const downstream = await upstream.getDownstream({ transaction });
47
-
48
43
  if (downstream) {
49
44
  await downstream.setUpstream(instance, { transaction });
50
45
  await instance.setDownstream(downstream, { transaction });
51
- instance.set('downstream', downstream);
46
+ instance.set("downstream", downstream);
52
47
  }
53
-
54
48
  await upstream.update(
55
49
  {
56
- downstreamId: instance.id,
50
+ downstreamId: instance.id
57
51
  },
58
- { transaction },
52
+ { transaction }
59
53
  );
60
-
61
- upstream.set('downstream', instance);
54
+ upstream.set("downstream", instance);
62
55
  } else {
63
56
  const [downstream] = await upstream.getBranches({
64
57
  where: {
65
58
  id: {
66
- [Op.ne]: instance.id,
59
+ [database.Op.ne]: instance.id
67
60
  },
68
- branchIndex: instance.branchIndex,
61
+ branchIndex: instance.branchIndex
69
62
  },
70
- transaction,
63
+ transaction
71
64
  });
72
-
73
65
  if (downstream) {
74
66
  await downstream.update(
75
67
  {
76
68
  upstreamId: instance.id,
77
- branchIndex: null,
69
+ branchIndex: null
78
70
  },
79
- { transaction },
71
+ { transaction }
80
72
  );
81
73
  await instance.setDownstream(downstream, { transaction });
82
- instance.set('downstream', downstream);
74
+ instance.set("downstream", downstream);
83
75
  }
84
76
  }
85
-
86
- instance.set('upstream', upstream);
87
-
77
+ instance.set("upstream", upstream);
88
78
  return instance;
89
79
  });
90
-
91
80
  await next();
92
81
  }
93
-
94
- function searchBranchNodes(nodes, from): any[] {
95
- const branchHeads = nodes.filter((item: any) => item.upstreamId === from.id && item.branchIndex != null);
82
+ function searchBranchNodes(nodes, from) {
83
+ const branchHeads = nodes.filter((item) => item.upstreamId === from.id && item.branchIndex != null);
96
84
  return branchHeads.reduce(
97
- (flatten: any[], head) => flatten.concat(searchBranchDownstreams(nodes, head)),
98
- [],
99
- ) as any[];
85
+ (flatten, head) => flatten.concat(searchBranchDownstreams(nodes, head)),
86
+ []
87
+ );
100
88
  }
101
-
102
89
  function searchBranchDownstreams(nodes, from) {
103
90
  let result = [];
104
91
  for (let search = from; search; search = search.downstream) {
@@ -106,61 +93,52 @@ function searchBranchDownstreams(nodes, from) {
106
93
  }
107
94
  return result;
108
95
  }
109
-
110
- export async function destroy(context: Context, next) {
96
+ async function destroy(context, next) {
111
97
  const { db } = context;
112
- const repository = utils.getRepositoryFromParams(context) as MultipleRelationRepository;
98
+ const repository = actions.utils.getRepositoryFromParams(context);
113
99
  const { filterByTk } = context.action.params;
114
-
115
100
  context.body = await db.sequelize.transaction(async (transaction) => {
116
- const workflow = (await repository.getSourceModel(transaction)) as WorkflowModel;
101
+ const workflow = await repository.getSourceModel(transaction);
117
102
  if (workflow.executed) {
118
- context.throw(400, 'Nodes in executed workflow could not be deleted');
103
+ context.throw(400, "Nodes in executed workflow could not be deleted");
119
104
  }
120
-
121
- const fields = ['id', 'upstreamId', 'downstreamId', 'branchIndex'];
105
+ const fields = ["id", "upstreamId", "downstreamId", "branchIndex"];
122
106
  const instance = await repository.findOne({
123
107
  filterByTk,
124
- fields: [...fields, 'workflowId'],
125
- appends: ['upstream', 'downstream'],
126
- transaction,
108
+ fields: [...fields, "workflowId"],
109
+ appends: ["upstream", "downstream"],
110
+ transaction
127
111
  });
128
112
  const { upstream, downstream } = instance.get();
129
-
130
113
  if (upstream && upstream.downstreamId === instance.id) {
131
114
  await upstream.update(
132
115
  {
133
- downstreamId: instance.downstreamId,
116
+ downstreamId: instance.downstreamId
134
117
  },
135
- { transaction },
118
+ { transaction }
136
119
  );
137
120
  }
138
-
139
121
  if (downstream) {
140
122
  await downstream.update(
141
123
  {
142
124
  upstreamId: instance.upstreamId,
143
- branchIndex: instance.branchIndex,
125
+ branchIndex: instance.branchIndex
144
126
  },
145
- { transaction },
127
+ { transaction }
146
128
  );
147
129
  }
148
-
149
130
  const nodes = await repository.find({
150
131
  filter: {
151
- workflowId: instance.workflowId,
132
+ workflowId: instance.workflowId
152
133
  },
153
134
  fields,
154
- transaction,
135
+ transaction
155
136
  });
156
- const nodesMap = new Map();
157
- // make map
137
+ const nodesMap = /* @__PURE__ */ new Map();
158
138
  nodes.forEach((item) => {
159
139
  nodesMap.set(item.id, item);
160
140
  });
161
- // overwrite
162
141
  nodesMap.set(instance.id, instance);
163
- // make linked list
164
142
  nodes.forEach((item) => {
165
143
  if (item.upstreamId) {
166
144
  item.upstream = nodesMap.get(item.upstreamId);
@@ -169,35 +147,28 @@ export async function destroy(context: Context, next) {
169
147
  item.downstream = nodesMap.get(item.downstreamId);
170
148
  }
171
149
  });
172
-
173
150
  const branchNodes = searchBranchNodes(nodes, instance);
174
-
175
151
  await repository.destroy({
176
152
  filterByTk: [instance.id, ...branchNodes.map((item) => item.id)],
177
- transaction,
153
+ transaction
178
154
  });
179
-
180
155
  return instance;
181
156
  });
182
-
183
157
  await next();
184
158
  }
185
-
186
- export async function update(context: Context, next) {
159
+ async function update(context, next) {
187
160
  const { db } = context;
188
- const repository = utils.getRepositoryFromParams(context);
161
+ const repository = actions.utils.getRepositoryFromParams(context);
189
162
  const { filterByTk, values, whitelist, blacklist, filter, updateAssociationValues } = context.action.params;
190
163
  context.body = await db.sequelize.transaction(async (transaction) => {
191
- // TODO(optimize): duplicated instance query
192
164
  const { workflow } = await repository.findOne({
193
165
  filterByTk,
194
- appends: ['workflow.executed'],
195
- transaction,
166
+ appends: ["workflow.executed"],
167
+ transaction
196
168
  });
197
169
  if (workflow.executed) {
198
- context.throw(400, 'Nodes in executed workflow could not be reconfigured');
170
+ context.throw(400, "Nodes in executed workflow could not be reconfigured");
199
171
  }
200
-
201
172
  return repository.update({
202
173
  filterByTk,
203
174
  values,
@@ -206,9 +177,12 @@ export async function update(context: Context, next) {
206
177
  filter,
207
178
  updateAssociationValues,
208
179
  context,
209
- transaction,
180
+ transaction
210
181
  });
211
182
  });
212
-
213
183
  await next();
214
184
  }
185
+
186
+ exports.create = create;
187
+ exports.destroy = destroy;
188
+ exports.update = update;
@@ -1,89 +1,87 @@
1
- import actions, { Context, utils } from '@nocobase/actions';
2
- import { Op, Repository } from '@nocobase/database';
1
+ 'use strict';
3
2
 
4
- export async function update(context: Context, next) {
5
- const repository = utils.getRepositoryFromParams(context) as Repository;
3
+ var actions = require('@nocobase/actions');
4
+ var database = require('@nocobase/database');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var actions__default = /*#__PURE__*/_interopDefault(actions);
9
+
10
+ async function update(context, next) {
11
+ const repository = actions.utils.getRepositoryFromParams(context);
6
12
  const { filterByTk, values } = context.action.params;
7
13
  context.action.mergeParams({
8
- whitelist: ['title', 'description', 'enabled', 'config'],
14
+ whitelist: ["title", "description", "enabled", "config"]
9
15
  });
10
- // only enable/disable
11
- if (Object.keys(values).includes('config')) {
16
+ if (Object.keys(values).includes("config")) {
12
17
  const workflow = await repository.findById(filterByTk);
13
- if (workflow.get('executed')) {
14
- return context.throw(400, 'config of executed workflow can not be updated');
18
+ if (workflow.get("executed")) {
19
+ return context.throw(400, "config of executed workflow can not be updated");
15
20
  }
16
21
  }
17
- return actions.update(context, next);
22
+ return actions__default.default.update(context, next);
18
23
  }
19
-
20
- export async function destroy(context: Context, next) {
21
- const repository = utils.getRepositoryFromParams(context) as Repository;
24
+ async function destroy(context, next) {
25
+ const repository = actions.utils.getRepositoryFromParams(context);
22
26
  const { filterByTk, filter } = context.action.params;
23
-
24
27
  await context.db.sequelize.transaction(async (transaction) => {
25
28
  const items = await repository.find({
26
29
  filterByTk,
27
30
  filter,
28
- fields: ['id', 'key', 'current'],
29
- transaction,
31
+ fields: ["id", "key", "current"],
32
+ transaction
30
33
  });
31
- const ids = new Set<number>(items.map((item) => item.id));
32
- const keysSet = new Set<string>(items.filter((item) => item.current).map((item) => item.key));
34
+ const ids = new Set(items.map((item) => item.id));
35
+ const keysSet = new Set(items.filter((item) => item.current).map((item) => item.key));
33
36
  const revisions = await repository.find({
34
37
  filter: {
35
38
  key: Array.from(keysSet),
36
- current: { [Op.not]: true },
39
+ current: { [database.Op.not]: true }
37
40
  },
38
- fields: ['id'],
39
- transaction,
41
+ fields: ["id"],
42
+ transaction
40
43
  });
41
-
42
44
  revisions.forEach((item) => ids.add(item.id));
43
-
44
45
  context.body = await repository.destroy({
45
46
  filterByTk: Array.from(ids),
46
47
  individualHooks: true,
47
- transaction,
48
+ transaction
48
49
  });
49
50
  });
50
-
51
51
  next();
52
52
  }
53
-
54
53
  function typeOf(value) {
55
54
  if (Array.isArray(value)) {
56
- return 'array';
55
+ return "array";
57
56
  } else if (value instanceof Date) {
58
- return 'date';
57
+ return "date";
59
58
  } else if (value === null) {
60
- return 'null';
59
+ return "null";
61
60
  }
62
-
63
61
  return typeof value;
64
62
  }
65
-
66
63
  function migrateConfig(config, oldToNew) {
67
64
  function migrate(value) {
65
+ var _a, _b;
68
66
  switch (typeOf(value)) {
69
- case 'object':
70
- if (value.type === '$jobsMapByNodeId') {
67
+ case "object":
68
+ if (value.type === "$jobsMapByNodeId") {
71
69
  return {
72
70
  ...value,
73
71
  options: {
74
72
  ...value.options,
75
- nodeId: oldToNew.get(value.options?.nodeId)?.id,
76
- },
73
+ nodeId: (_b = oldToNew.get((_a = value.options) == null ? void 0 : _a.nodeId)) == null ? void 0 : _b.id
74
+ }
77
75
  };
78
76
  }
79
77
  return Object.keys(value).reduce((result, key) => ({ ...result, [key]: migrate(value[key]) }), {});
80
- case 'array':
78
+ case "array":
81
79
  return value.map((item) => migrate(item));
82
- case 'string':
80
+ case "string":
83
81
  return value.replace(/({{\$jobsMapByNodeId|{{\$scopes)\.([\w-]+)/g, (_, jobVar, oldNodeId) => {
84
82
  const newNode = oldToNew.get(Number.parseInt(oldNodeId, 10));
85
83
  if (!newNode) {
86
- throw new Error('node configurated for result is not existed');
84
+ throw new Error("node configurated for result is not existed");
87
85
  }
88
86
  return `${jobVar}.${newNode.id}`;
89
87
  });
@@ -91,65 +89,54 @@ function migrateConfig(config, oldToNew) {
91
89
  return value;
92
90
  }
93
91
  }
94
-
95
92
  return migrate(config);
96
93
  }
97
-
98
- export async function revision(context: Context, next) {
94
+ async function revision(context, next) {
99
95
  const { db } = context;
100
- const repository = utils.getRepositoryFromParams(context);
96
+ const repository = actions.utils.getRepositoryFromParams(context);
101
97
  const { filterByTk, filter = {} } = context.action.params;
102
-
103
98
  context.body = await db.sequelize.transaction(async (transaction) => {
104
99
  const origin = await repository.findOne({
105
100
  filterByTk,
106
101
  filter,
107
- appends: ['nodes'],
102
+ appends: ["nodes"],
108
103
  context,
109
- transaction,
104
+ transaction
110
105
  });
111
-
112
- const revisionData = filter.key
113
- ? {
114
- key: filter.key,
115
- title: origin.title,
116
- allExecuted: origin.allExecuted,
117
- }
118
- : {};
119
-
106
+ const revisionData = filter.key ? {
107
+ key: filter.key,
108
+ title: origin.title,
109
+ allExecuted: origin.allExecuted
110
+ } : {};
120
111
  const instance = await repository.create({
121
112
  values: {
122
113
  title: `${origin.title} copy`,
123
114
  description: origin.description,
124
115
  type: origin.type,
125
116
  config: origin.config,
126
- ...revisionData,
117
+ ...revisionData
127
118
  },
128
- transaction,
119
+ transaction
129
120
  });
130
-
131
- const originalNodesMap = new Map();
121
+ const originalNodesMap = /* @__PURE__ */ new Map();
132
122
  origin.nodes.forEach((node) => {
133
123
  originalNodesMap.set(node.id, node);
134
124
  });
135
-
136
- const oldToNew = new Map();
137
- const newToOld = new Map();
125
+ const oldToNew = /* @__PURE__ */ new Map();
126
+ const newToOld = /* @__PURE__ */ new Map();
138
127
  for await (const node of origin.nodes) {
139
128
  const newNode = await instance.createNode(
140
129
  {
141
130
  type: node.type,
142
131
  config: node.config,
143
132
  title: node.title,
144
- branchIndex: node.branchIndex,
133
+ branchIndex: node.branchIndex
145
134
  },
146
- { transaction },
135
+ { transaction }
147
136
  );
148
- // NOTE: keep original node references for later replacement
149
137
  oldToNew.set(node.id, newNode);
150
138
  newToOld.set(newNode.id, node);
151
139
  }
152
-
153
140
  for await (const [oldId, newNode] of oldToNew.entries()) {
154
141
  const oldNode = originalNodesMap.get(oldId);
155
142
  const newUpstream = oldNode.upstreamId ? oldToNew.get(oldNode.upstreamId) : null;
@@ -160,19 +147,20 @@ export async function revision(context: Context, next) {
160
147
  } catch (err) {
161
148
  return context.throw(400, err.message);
162
149
  }
163
-
164
150
  await newNode.update(
165
151
  {
166
- upstreamId: newUpstream?.id ?? null,
167
- downstreamId: newDownstream?.id ?? null,
168
- config: migratedConfig,
152
+ upstreamId: (newUpstream == null ? void 0 : newUpstream.id) ?? null,
153
+ downstreamId: (newDownstream == null ? void 0 : newDownstream.id) ?? null,
154
+ config: migratedConfig
169
155
  },
170
- { transaction },
156
+ { transaction }
171
157
  );
172
158
  }
173
-
174
159
  return instance;
175
160
  });
176
-
177
161
  await next();
178
162
  }
163
+
164
+ exports.destroy = destroy;
165
+ exports.revision = revision;
166
+ exports.update = update;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var executions_default = {
4
+ namespace: "workflow.executionLogs",
5
+ duplicator: "optional",
6
+ name: "executions",
7
+ fields: [
8
+ {
9
+ type: "belongsTo",
10
+ name: "workflow"
11
+ },
12
+ {
13
+ type: "uid",
14
+ name: "key"
15
+ },
16
+ {
17
+ type: "boolean",
18
+ name: "useTransaction",
19
+ defaultValue: false
20
+ },
21
+ {
22
+ type: "hasMany",
23
+ name: "jobs",
24
+ onDelete: "CASCADE"
25
+ },
26
+ {
27
+ type: "json",
28
+ name: "context"
29
+ },
30
+ {
31
+ type: "integer",
32
+ name: "status"
33
+ }
34
+ ]
35
+ };
36
+
37
+ module.exports = executions_default;
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ var flow_nodes_default = {
4
+ namespace: "workflow.workflowConfig",
5
+ duplicator: "required",
6
+ name: "flow_nodes",
7
+ fields: [
8
+ {
9
+ type: "string",
10
+ name: "title"
11
+ },
12
+ // which workflow belongs to
13
+ {
14
+ name: "workflow",
15
+ type: "belongsTo"
16
+ },
17
+ {
18
+ name: "upstream",
19
+ type: "belongsTo",
20
+ target: "flow_nodes"
21
+ },
22
+ {
23
+ name: "branches",
24
+ type: "hasMany",
25
+ target: "flow_nodes",
26
+ sourceKey: "id",
27
+ foreignKey: "upstreamId"
28
+ },
29
+ // only works when upstream node is branching type, such as condition and parallel.
30
+ // put here because the design of flow-links model is not really necessary for now.
31
+ // or it should be put into flow-links model.
32
+ {
33
+ name: "branchIndex",
34
+ type: "integer"
35
+ },
36
+ // Note: for reasons:
37
+ // 1. redirect type node to solve cycle flow.
38
+ // 2. recognize as real next node after branches.
39
+ {
40
+ name: "downstream",
41
+ type: "belongsTo",
42
+ target: "flow_nodes"
43
+ },
44
+ {
45
+ type: "string",
46
+ name: "type"
47
+ },
48
+ {
49
+ type: "json",
50
+ name: "config",
51
+ defaultValue: {}
52
+ }
53
+ ]
54
+ };
55
+
56
+ module.exports = flow_nodes_default;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var jobs_default = {
4
+ namespace: "workflow.executionLogs",
5
+ duplicator: "optional",
6
+ name: "jobs",
7
+ fields: [
8
+ {
9
+ type: "belongsTo",
10
+ name: "execution"
11
+ },
12
+ {
13
+ type: "belongsTo",
14
+ name: "node",
15
+ target: "flow_nodes"
16
+ },
17
+ {
18
+ type: "belongsTo",
19
+ name: "upstream",
20
+ target: "jobs"
21
+ },
22
+ {
23
+ type: "integer",
24
+ name: "status"
25
+ },
26
+ {
27
+ type: "json",
28
+ name: "result"
29
+ }
30
+ ]
31
+ };
32
+
33
+ module.exports = jobs_default;