jsharmony-workflow 1.0.0

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 (37) hide show
  1. package/.eslintrc.js +47 -0
  2. package/.eslintrc_models.js +64 -0
  3. package/LICENSE +165 -0
  4. package/README.md +29 -0
  5. package/index.js +20 -0
  6. package/jsHarmonyWorkflow.js +55 -0
  7. package/jsHarmonyWorkflowConfig.js +43 -0
  8. package/jsHarmonyWorkflowProcessor.js +517 -0
  9. package/jsHarmonyWorkflowTransform.Classic.js +83 -0
  10. package/jsHarmonyWorkflowTransform.js +80 -0
  11. package/lint.cmd +2 -0
  12. package/models/Admin/TaskDef.json +26 -0
  13. package/models/Admin/TaskDef_Func.json +21 -0
  14. package/models/Admin/TaskDef_Listing.json +28 -0
  15. package/models/Admin/TaskDef_Tabs.json +19 -0
  16. package/models/Admin/WkflowDef.json +25 -0
  17. package/models/Admin/WkflowDef_Listing.json +26 -0
  18. package/models/Admin/WkflowDef_State.json +26 -0
  19. package/models/Admin/WkflowDef_State_Action.json +25 -0
  20. package/models/Admin/WkflowDef_State_Action_Listing.json +25 -0
  21. package/models/Admin/WkflowDef_State_Listing.json +45 -0
  22. package/models/Admin/WkflowDef_State_Tabs.json +20 -0
  23. package/models/Admin/WkflowDef_State_Tran.json +28 -0
  24. package/models/Admin/WkflowDef_State_Tran_Listing.json +27 -0
  25. package/models/Admin/WkflowDef_Tabs.json +20 -0
  26. package/models/Admin/WkflowDef_Tran_Start.json +28 -0
  27. package/models/Admin/WkflowDef_Tran_Start_Listing.json +34 -0
  28. package/models/Wkflow/Task.json +27 -0
  29. package/models/Wkflow/Task_Listing.json +45 -0
  30. package/models/Wkflow/Task_Tabs.json +18 -0
  31. package/models/Wkflow/Wkflow.json +31 -0
  32. package/models/Wkflow/Wkflow_Listing.json +38 -0
  33. package/models/Wkflow/Wkflow_Tabs.json +18 -0
  34. package/models/_config.json +48 -0
  35. package/models/sql/objects/task.json +152 -0
  36. package/models/sql/objects/wkflow.json +383 -0
  37. package/package.json +21 -0
@@ -0,0 +1,383 @@
1
+ {
2
+ "code_wkflow_def_sts": {
3
+ "type": "code",
4
+ "caption": "Workflow Definition Status",
5
+ "init_data": [
6
+ {"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
7
+ {"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
8
+ {"code_seq":3, "code_val":"CLOSED", "code_txt":"Closed"},
9
+ ]
10
+ },
11
+
12
+ "code_wkflow_def_state_sts": {
13
+ "type": "code",
14
+ "caption": "Workflow Definition State Status",
15
+ "init_data": [
16
+ {"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
17
+ {"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
18
+ {"code_seq":3, "code_val":"CLOSED", "code_txt":"Closed"},
19
+ ]
20
+ },
21
+
22
+ "code_wkflow_def_state_type": {
23
+ "type": "code",
24
+ "caption": "Workflow Definition State Type",
25
+ "init_data": [
26
+ {"code_seq":1, "code_val":"STANDARD", "code_txt":"Standard"},
27
+ {"code_seq":2, "code_val":"TERMINAL", "code_txt":"Terminal"},
28
+
29
+ ]
30
+ },
31
+
32
+ "code_wkflow_def_state_tran_sts": {
33
+ "type": "code",
34
+ "caption": "Workflow Definition State Transition Status",
35
+ "init_data": [
36
+ {"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
37
+ {"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
38
+ {"code_seq":3, "code_val":"CLOSED", "code_txt":"Closed"},
39
+ ]
40
+ },
41
+
42
+ "code_wkflow_def_state_tran_cond_type": {
43
+ "type": "code",
44
+ "caption": "Workflow Definition State Transition Condition Type",
45
+ "init_data": [
46
+ {"code_seq":1, "code_val":"SQL", "code_txt":"SQL"},
47
+ {"code_seq":2, "code_val":"TASKCMPL", "code_txt":"Task Completion"},
48
+ ]
49
+ },
50
+
51
+ "code_wkflow_def_state_action_sts": {
52
+ "type": "code",
53
+ "caption": "Workflow Definition State Action Status",
54
+ "init_data": [
55
+ {"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
56
+ {"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
57
+ {"code_seq":3, "code_val":"CLOSED", "code_txt":"Closed"},
58
+ ]
59
+ },
60
+
61
+
62
+ "code_wkflow_def_state_action_type": {
63
+ "type": "code",
64
+ "caption": "Workflow Definition State Action Type",
65
+ "init_data": [
66
+ {"code_seq":1, "code_val":"SQL", "code_txt":"SQL"},
67
+ {"code_seq":2, "code_val":"NEWTASK", "code_txt":"New Task"},
68
+ ]
69
+ },
70
+
71
+ "code_wkflow_sts": {
72
+ "type": "code",
73
+ "caption": "Workflow Status",
74
+ "init_data": [
75
+ {"code_seq":1, "code_val":"ACTIVE", "code_txt":"Active"},
76
+ {"code_seq":2, "code_val":"HOLD", "code_txt":"Hold"},
77
+ {"code_seq":3, "code_val":"COMPLETE", "code_txt":"Complete"},
78
+ {"code_seq":4, "code_val":"CANCELED", "code_txt":"Canceled"},
79
+ {"code_seq":5, "code_val":"STARTING", "code_txt":"Starting"},
80
+ ]
81
+ },
82
+
83
+ "code_wkflow_tran_sts": {
84
+ "type": "code",
85
+ "caption": "Workflow Transition Status",
86
+ "init_data": [
87
+ {"code_seq":1, "code_val":"PENDING", "code_txt":"Pending"},
88
+ {"code_seq":2, "code_val":"COMPLETE", "code_txt":"Complete"},
89
+ ]
90
+ },
91
+
92
+ "code_wkflow_var_name": {
93
+ "type": "code",
94
+ "caption": "Workflow Variable Name",
95
+ "init_data": [
96
+ ]
97
+ },
98
+
99
+ "wkflow_def": {
100
+ "type": "table",
101
+ "caption": "wkflow_def",
102
+ "table": "wkflow_def",
103
+ "columns": [
104
+ {"name":"wkflow_def_id", "type":"bigint", "key":true, "identity": true, "foreignkey":{"wkflow_def_state":"wkflow_def_id"}, "null":false},
105
+ {"name":"wkflow_def_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_sts":"code_val"}, "null":false, "default": "ACTIVE"},
106
+ {"name":"wkflow_def_code", "type":"varchar", "length":32, "null":false},
107
+ {"name":"wkflow_def_name", "type":"varchar", "length":64, "null":false},
108
+ {"name":"wkflow_def_desc", "type":"varchar", "length":1024},
109
+ {"name":"wkflow_def_state_id_start", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}},
110
+ {"name":"wkflow_def_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
111
+ {"name":"wkflow_def_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
112
+ {"name":"wkflow_def_muser", "type":"varchar", "length":20},
113
+ {"name":"wkflow_def_mtstmp", "type":"datetime", "precision":7},
114
+ {"name":"wkflow_def_snotes", "type":"varchar", "length":1024}
115
+ ],
116
+ "index": [
117
+ { "columns": ["wkflow_def_sts"] },
118
+ { "columns": ["wkflow_def_code"] },
119
+ ],
120
+ "triggers": [
121
+ { "on": ["update", "insert"], "exec": [
122
+ "set(wkflow_def_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
123
+ "set(wkflow_def_muser,%%%%%%jsh.map.current_user%%%%%%);",
124
+ ]
125
+ },
126
+ { "on": ["insert"], "exec": [
127
+ "jsharmony.log_audit_insert('wkflow_def',inserted(wkflow_def_id),wkflow_def_id)",
128
+ ]
129
+ },
130
+ { "on": ["update"], "exec": [
131
+ "jsharmony.log_audit_update_mult('wkflow_def',deleted(wkflow_def_id),[\"wkflow_def_sts\",\"wkflow_def_code\",\"wkflow_def_name\",\"wkflow_def_desc\",\"wkflow_def_state_id_start\"])",
132
+ ]
133
+ },
134
+ { "on": ["delete"], "exec": [
135
+ "jsharmony.log_audit_delete_mult('wkflow_def',deleted(wkflow_def_id),[\"wkflow_def_sts\",\"wkflow_def_code\",\"wkflow_def_name\",\"wkflow_def_desc\",\"wkflow_def_state_id_start\"])",
136
+ ]
137
+ }
138
+ ],
139
+ },
140
+
141
+ "wkflow_def_state": {
142
+ "type": "table",
143
+ "caption": "wkflow_def_state",
144
+ "table": "wkflow_def_state",
145
+ "columns": [
146
+ {"name":"wkflow_def_state_id", "type":"bigint", "key":true, "identity": true, "null":false},
147
+ {"name":"wkflow_def_id", "type":"bigint", "foreignkey":{"wkflow_def":"wkflow_def_id"}, "null":false},
148
+ {"name":"wkflow_def_state_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_sts":"code_val"}, "null":false, "default": "ACTIVE"},
149
+ {"name":"wkflow_def_state_type", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_type":"code_val"}, "null":false, "default": "STANDARD"},
150
+ {"name":"wkflow_def_state_code", "type":"varchar", "length":32, "null":false},
151
+ {"name":"wkflow_def_state_name", "type":"varchar", "length":64, "null":false},
152
+ {"name":"wkflow_def_state_desc", "type":"varchar", "length":1024},
153
+ {"name":"wkflow_def_state_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
154
+ {"name":"wkflow_def_state_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
155
+ {"name":"wkflow_def_state_muser", "type":"varchar", "length":20},
156
+ {"name":"wkflow_def_state_mtstmp", "type":"datetime", "precision":7},
157
+ {"name":"wkflow_def_state_snotes", "type":"varchar", "length":1024}
158
+ ],
159
+ "index": [
160
+ { "columns": ["wkflow_def_id"] },
161
+ { "columns": ["wkflow_def_state_sts"] },
162
+ ],
163
+ "triggers": [
164
+ { "on": ["update", "insert"], "exec": [
165
+ "set(wkflow_def_state_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
166
+ "set(wkflow_def_state_muser,%%%%%%jsh.map.current_user%%%%%%);",
167
+ ]
168
+ },
169
+ { "on": ["insert"], "exec": [
170
+ "jsharmony.log_audit_insert('wkflow_def_state',inserted(wkflow_def_state_id),wkflow_def_state_id)",
171
+ ]
172
+ },
173
+ { "on": ["update"], "exec": [
174
+ "jsharmony.log_audit_update_mult('wkflow_def_state',deleted(wkflow_def_state_id),[\"wkflow_def_id\",\"wkflow_def_state_sts\",\"wkflow_def_state_type\",\"wkflow_def_state_code\",\"wkflow_def_state_name\",\"wkflow_def_state_desc\"])",
175
+ ]
176
+ },
177
+ { "on": ["delete"], "exec": [
178
+ "jsharmony.log_audit_delete_mult('wkflow_def_state',deleted(wkflow_def_state_id),[\"wkflow_def_id\",\"wkflow_def_state_sts\",\"wkflow_def_state_type\",\"wkflow_def_state_code\",\"wkflow_def_state_name\",\"wkflow_def_state_desc\"])",
179
+ ]
180
+ }
181
+ ],
182
+ },
183
+
184
+ "wkflow_def_state_tran": {
185
+ "type": "table",
186
+ "caption": "wkflow_def_state_tran",
187
+ "table": "wkflow_def_state_tran",
188
+ "columns": [
189
+ {"name":"wkflow_def_state_tran_id", "type":"bigint", "key":true, "identity": true, "null":false},
190
+ {"name":"wkflow_def_state_tran_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_tran_sts":"code_val"}, "null":false, "default": "ACTIVE"},
191
+ {"name":"wkflow_def_state_tran_seq", "type":"int"},
192
+ {"name":"wkflow_def_state_tran_cond_type", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_tran_cond_type":"code_val"}, "null":false},
193
+ {"name":"wkflow_def_state_tran_cond_param", "type":"varchar", "length":4000},
194
+ {"name":"wkflow_def_state_id_src", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}},
195
+ {"name":"wkflow_def_state_id_dst", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}, "null":false},
196
+ {"name":"wkflow_def_state_tran_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
197
+ {"name":"wkflow_def_state_tran_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
198
+ {"name":"wkflow_def_state_tran_muser", "type":"varchar", "length":20},
199
+ {"name":"wkflow_def_state_tran_mtstmp", "type":"datetime", "precision":7},
200
+ {"name":"wkflow_def_state_tran_snotes", "type":"varchar", "length":1024}
201
+ ],
202
+ "index": [
203
+ { "columns": ["wkflow_def_state_tran_sts"] },
204
+ { "columns": ["wkflow_def_state_tran_seq"] },
205
+ { "columns": ["wkflow_def_state_id_src"] },
206
+ ],
207
+ "triggers": [
208
+ { "on": ["update", "insert"], "exec": [
209
+ "set(wkflow_def_state_tran_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
210
+ "set(wkflow_def_state_tran_muser,%%%%%%jsh.map.current_user%%%%%%);",
211
+ ]
212
+ },
213
+ { "on": ["insert"], "exec": [
214
+ "jsharmony.log_audit_insert('wkflow_def_state_tran',inserted(wkflow_def_state_tran_id),wkflow_def_state_tran_id)",
215
+ ]
216
+ },
217
+ { "on": ["update"], "exec": [
218
+ "jsharmony.log_audit_update_mult('wkflow_def_state_tran',deleted(wkflow_def_state_tran_id),[\"wkflow_def_state_tran_sts\",\"wkflow_def_state_tran_seq\",\"wkflow_def_state_tran_cond_type\",\"wkflow_def_state_tran_cond_param\",\"wkflow_def_state_id_src\",\"wkflow_def_state_id_dst\"])",
219
+ ]
220
+ },
221
+ { "on": ["delete"], "exec": [
222
+ "jsharmony.log_audit_delete_mult('wkflow_def_state_tran',deleted(wkflow_def_state_tran_id),[\"wkflow_def_state_tran_sts\",\"wkflow_def_state_tran_seq\",\"wkflow_def_state_tran_cond_type\",\"wkflow_def_state_tran_cond_param\",\"wkflow_def_state_id_src\",\"wkflow_def_state_id_dst\"])",
223
+ ]
224
+ }
225
+ ],
226
+ },
227
+
228
+ "wkflow_def_state_action": {
229
+ "type": "table",
230
+ "caption": "wkflow_def_state_action",
231
+ "table": "wkflow_def_state_action",
232
+ "columns": [
233
+ {"name":"wkflow_def_state_action_id", "type":"bigint", "key":true, "identity": true, "null":false},
234
+ {"name":"wkflow_def_state_id", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}, "null":false},
235
+ {"name":"wkflow_def_state_action_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_action_sts":"code_val"}, "null":false, "default": "ACTIVE"},
236
+ {"name":"wkflow_def_state_action_type", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_def_state_action_type":"code_val"}, "null":false},
237
+ {"name":"wkflow_def_state_action_param", "type":"varchar", "length":4000},
238
+ {"name":"wkflow_def_state_action_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
239
+ {"name":"wkflow_def_state_action_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
240
+ {"name":"wkflow_def_state_action_muser", "type":"varchar", "length":20},
241
+ {"name":"wkflow_def_state_action_mtstmp", "type":"datetime", "precision":7},
242
+ {"name":"wkflow_def_state_action_snotes", "type":"varchar", "length":1024}
243
+ ],
244
+ "index": [
245
+ { "columns": ["wkflow_def_state_id"] },
246
+ { "columns": ["wkflow_def_state_action_sts"] },
247
+ ],
248
+ "triggers": [
249
+ { "on": ["update", "insert"], "exec": [
250
+ "set(wkflow_def_state_action_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
251
+ "set(wkflow_def_state_action_muser,%%%%%%jsh.map.current_user%%%%%%);",
252
+ ]
253
+ },
254
+ { "on": ["insert"], "exec": [
255
+ "jsharmony.log_audit_insert('wkflow_def_state_action',inserted(wkflow_def_state_action_id),wkflow_def_state_action_id)",
256
+ ]
257
+ },
258
+ { "on": ["update"], "exec": [
259
+ "jsharmony.log_audit_update_mult('wkflow_def_state_action',deleted(wkflow_def_state_action_id),[\"wkflow_def_state_id\",\"wkflow_def_state_action_sts\",\"wkflow_def_state_action_type\",\"wkflow_def_state_action_param\"])",
260
+ ]
261
+ },
262
+ { "on": ["delete"], "exec": [
263
+ "jsharmony.log_audit_delete_mult('wkflow_def_state_action',deleted(wkflow_def_state_action_id),[\"wkflow_def_state_id\",\"wkflow_def_state_action_sts\",\"wkflow_def_state_action_type\",\"wkflow_def_state_action_param\"])",
264
+ ]
265
+ }
266
+ ],
267
+ },
268
+
269
+ "wkflow": {
270
+ "type": "table",
271
+ "caption": "wkflow",
272
+ "table": "wkflow",
273
+ "columns": [
274
+ {"name":"wkflow_id", "type":"bigint", "key":true, "identity": true, "null":false},
275
+ {"name":"wkflow_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_sts":"code_val"}, "null":false, "default": "ACTIVE"},
276
+ {"name":"wkflow_sts_user", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
277
+ {"name":"wkflow_sts_tstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
278
+ {"name":"wkflow_def_id", "type":"bigint", "null":false},
279
+ {"name":"wkflow_tran_sts", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_tran_sts":"code_val"}, "null":false, "default": "PENDING"},
280
+ {"name":"wkflow_def_state_id", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}, "null":false},
281
+ {"name":"wkflow_def_state_id_user", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
282
+ {"name":"wkflow_def_state_id_tstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
283
+ {"name":"wkflow_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
284
+ {"name":"wkflow_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
285
+ {"name":"wkflow_muser", "type":"varchar", "length":20},
286
+ {"name":"wkflow_mtstmp", "type":"datetime", "precision":7},
287
+ {"name":"wkflow_snotes", "type":"varchar", "length":1024}
288
+ ],
289
+ "index": [
290
+ { "columns": ["wkflow_sts"] },
291
+ { "columns": ["wkflow_tran_sts"] },
292
+ { "columns": ["wkflow_def_id"] },
293
+ { "columns": ["wkflow_def_state_id"] },
294
+ ],
295
+ "triggers": [
296
+ { "on": ["insert"], "exec": [
297
+ "set(wkflow_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
298
+ "set(wkflow_muser,%%%%%%jsh.map.current_user%%%%%%);",
299
+ ]
300
+ },
301
+ { "on": ["update"], "exec": [
302
+ ["insert into wkflow.wkflow_state(wkflow_id, wkflow_def_state_id, wkflow_state_start_tstmp, wkflow_state_end_tstmp)",
303
+ " select deleted(wkflow_id), deleted(wkflow_def_state_id), deleted(wkflow_def_state_id_tstmp), %%%%%%jsh.map.timestamp%%%%%%",
304
+ " where inserted(wkflow_def_state_id) <> deleted(wkflow_def_state_id)"
305
+ ],
306
+ "set(wkflow_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
307
+ "set(wkflow_muser,%%%%%%jsh.map.current_user%%%%%%);",
308
+ "setif(update(wkflow_sts),wkflow_sts_tstmp,%%%%%%jsh.map.timestamp%%%%%%);",
309
+ "setif(update(wkflow_sts),wkflow_sts_user,%%%%%%jsh.map.current_user%%%%%%);",
310
+ "setif(update(wkflow_def_state_id),wkflow_def_state_id_tstmp,%%%%%%jsh.map.timestamp%%%%%%);",
311
+ "setif(update(wkflow_def_state_id),wkflow_def_state_id_user,%%%%%%jsh.map.current_user%%%%%%);",
312
+ ]
313
+ },
314
+ { "on": ["insert"], "exec": [
315
+ "jsharmony.log_audit_insert('wkflow',inserted(wkflow_id),wkflow_id)",
316
+ ]
317
+ },
318
+ { "on": ["update"], "exec": [
319
+ "jsharmony.log_audit_update_mult('wkflow',deleted(wkflow_id),[\"wkflow_def_id\",\"wkflow_tran_sts\",\"wkflow_def_state_id\",\"wkflow_custom_flag\",\"wkflow_custom_note\"])",
320
+ ]
321
+ },
322
+ { "on": ["delete"], "exec": [
323
+ "jsharmony.log_audit_delete_mult('wkflow',deleted(wkflow_id),[\"wkflow_def_id\",\"wkflow_tran_sts\",\"wkflow_def_state_id\",\"wkflow_custom_flag\",\"wkflow_custom_note\"])",
324
+ ]
325
+ }
326
+ ],
327
+ },
328
+
329
+ "wkflow_var": {
330
+ "type": "table",
331
+ "caption": "wkflow_var",
332
+ "table": "wkflow_var",
333
+ "columns": [
334
+ {"name":"wkflow_var_id", "type":"bigint", "key":true, "identity": true, "null":false},
335
+ {"name":"wkflow_id", "type":"bigint", "foreignkey":{"wkflow":"wkflow_id"}, "null":false},
336
+ {"name":"wkflow_var_name", "type":"varchar", "length":32, "foreignkey":{"code_wkflow_var_name":"code_val"}, "null":false},
337
+ {"name":"wkflow_var_val", "type":"varchar", "length":255},
338
+ {"name":"wkflow_var_euser", "type":"varchar", "length":20, "default": { "sql": "%%%%%%jsh.map.current_user%%%%%%" }},
339
+ {"name":"wkflow_var_etstmp", "type":"datetime", "precision":7, "default": { "sql": "%%%%%%jsh.map.timestamp%%%%%%" }},
340
+ {"name":"wkflow_var_muser", "type":"varchar", "length":20},
341
+ {"name":"wkflow_var_mtstmp", "type":"datetime", "precision":7},
342
+ {"name":"wkflow_var_snotes", "type":"varchar", "length":1024}
343
+ ],
344
+ "index": [
345
+ { "columns": ["wkflow_id"] },
346
+ { "columns": ["wkflow_var_name"] },
347
+ { "columns": ["wkflow_var_val"] },
348
+ ],
349
+ "triggers": [
350
+ { "on": ["update", "insert"], "exec": [
351
+ "set(wkflow_var_mtstmp,%%%%%%jsh.map.timestamp%%%%%%);",
352
+ "set(wkflow_var_muser,%%%%%%jsh.map.current_user%%%%%%);",
353
+ ]
354
+ },
355
+ { "on": ["insert"], "exec": [
356
+ "jsharmony.log_audit_insert('wkflow_var',inserted(wkflow_var_id),wkflow_var_id)",
357
+ ]
358
+ },
359
+ { "on": ["update"], "exec": [
360
+ "jsharmony.log_audit_update_mult('wkflow_var',deleted(wkflow_var_id),[\"wkflow_id\",\"wkflow_var_name\",\"wkflow_var_val\"])",
361
+ ]
362
+ },
363
+ { "on": ["delete"], "exec": [
364
+ "jsharmony.log_audit_delete_mult('wkflow_var',deleted(wkflow_var_id),[\"wkflow_id\",\"wkflow_var_name\",\"wkflow_var_val\"])",
365
+ ]
366
+ }
367
+ ],
368
+ },
369
+
370
+ "wkflow_state":{
371
+ "type": "table",
372
+ "caption": "wkflow_state",
373
+ "table": "wkflow_state",
374
+ "columns": [
375
+ {"name":"wkflow_state_id", "type":"bigint", "key":true, "identity": true, "null":false},
376
+ {"name":"wkflow_id", "type":"bigint", "foreignkey":{"wkflow":"wkflow_id"}, "null":false},
377
+ {"name":"wkflow_def_state_id", "type":"bigint", "foreignkey":{"wkflow_def_state":"wkflow_def_state_id"}, "null":false},
378
+ {"name":"wkflow_state_start_tstmp", "type":"datetime", "precision":7, "null":false},
379
+ {"name":"wkflow_state_end_tstmp", "type":"datetime", "precision":7, "null":false},
380
+ {"name":"wkflow_state_snotes", "type":"varchar", "length":1024}
381
+ ],
382
+ },
383
+ }
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "jsharmony-workflow",
3
+ "version": "1.0.0",
4
+ "description": "jsHarmony Workflow",
5
+ "main": "index.js",
6
+ "keywords": [
7
+ "jsHarmony",
8
+ "JavaScript",
9
+ "Workflow",
10
+ "Management"
11
+ ],
12
+ "author": "apHarmony <contact@apharmony.com> (http://www.apharmony.com/)",
13
+ "license": "LGPL-3.0",
14
+ "dependencies": {
15
+ "jsharmony": "^1.33.0",
16
+ "jsharmony-factory": "^1.21.1",
17
+ "lodash": "^4.17.19",
18
+ "async": "^2.6.2",
19
+ "rrule": "^2.7.1"
20
+ }
21
+ }