@simitgroup/simpleapp-generator 1.1.15 → 1.1.17

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 (46) hide show
  1. package/README.md +7 -2
  2. package/dist/buildinschemas/index.d.ts +0 -1
  3. package/dist/buildinschemas/index.d.ts.map +1 -1
  4. package/dist/buildinschemas/index.js +2 -3
  5. package/dist/buildinschemas/index.js.map +1 -1
  6. package/dist/framework.js +2 -2
  7. package/dist/framework.js.map +1 -1
  8. package/dist/processors/bpmnbuilder.d.ts.map +1 -1
  9. package/dist/processors/bpmnbuilder.js +56 -42
  10. package/dist/processors/bpmnbuilder.js.map +1 -1
  11. package/docs/bpmn.md +187 -0
  12. package/docs/images/samplebpmn.jpg +0 -0
  13. package/package.json +1 -1
  14. package/src/buildinschemas/index.ts +1 -1
  15. package/src/framework.ts +2 -2
  16. package/src/processors/bpmnbuilder.ts +60 -42
  17. package/templates/basic/nest/controller.ts.eta +2 -1
  18. package/templates/basic/nest/service.ts.eta +1 -1
  19. package/templates/nest/src/simpleapp/generate/commons/user.context.ts.eta +31 -6
  20. package/templates/nest/src/simpleapp/generate/processors/simpleapp.processor.ts.eta +1 -1
  21. package/templates/nest/src/simpleapp/generate/workflow/workflow.config.ts.eta +59 -43
  22. package/templates/nest/src/simpleapp/generate/workflow/workflow.delegate.ts.eta +80 -43
  23. package/templates/nest/src/simpleapp/generate/workflow/workflow.service.ts.eta +131 -11
  24. package/templates/nest/src/simpleapp/generate/workflow/workflow.type.ts.eta +39 -0
  25. package/templates/nest/src/simpleapp/generate/workflow/workflow.userservice.ts.eta +77 -0
  26. package/templates/nest/src/simpleapp/simpleapp.module.ts.eta +5 -4
  27. package/templates/nest/src/simpleapp/workflows/{delegates/simpleapp.delegate.ts._eta → listeners/simpleapp.listener.ts._eta} +1 -1
  28. package/templates/nuxt/components/event/{EventDecision.vue.eta → EventDecision.vue._eta} +1 -1
  29. package/templates/nuxt/components/event/{EventDocumentViewer.vue.eta → EventDocumentViewer.vue._eta} +6 -0
  30. package/templates/nuxt/components/event/{EventNotification.vue.eta → EventNotification.vue._eta} +1 -1
  31. package/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta +4 -2
  32. package/templates/nuxt/simpleapp/generate/commons/documents.ts.eta +1 -2
  33. package/templates/nuxt/types/others.ts.eta +1 -2
  34. package/templates/project/jsonschemas/user.json._eta +72 -0
  35. package/templates/project/workflows/bpmn/suspendcustomer.bpmn._eta +38 -19
  36. package/templates/project/workflows/forms/index.ts._eta +2 -0
  37. package/templates/project/workflows/forms/simpleapprove.jsonschema.ts._eta +8 -0
  38. package/templates/workflow/next/listener.ts.eta +76 -0
  39. package/tsconfig.tsbuildinfo +1 -1
  40. package/templates/workflow/next/delegate.ts.eta +0 -31
  41. /package/templates/nest/src/simpleapp/services/{user.service.ts.eta → user.service.ts.etax} +0 -0
  42. /package/templates/nuxt/pages/[xorg]/user/{[id].vue.eta → [id].vue._eta} +0 -0
  43. /package/templates/nuxt/pages/[xorg]/user/{index.vue.eta → index.vue._eta} +0 -0
  44. /package/templates/nuxt/pages/[xorg]/{user.vue.eta → user.vue._eta} +0 -0
  45. /package/templates/{project/workflows/forms/index.ts.eta → nuxt/simpleapp/workflows/forms/index.ts._eta} +0 -0
  46. /package/templates/{project/workflows/forms/simpleapprove.jsonschema.ts.eta → nuxt/simpleapp/workflows/forms/simpleapprove.jsonschema.ts._eta} +0 -0
package/README.md CHANGED
@@ -20,14 +20,19 @@ SimpleApp generator is a typescript code generator for convert jsonschemas becom
20
20
  e. openapi interface [x]
21
21
  f. pdf document []
22
22
  g. document uploads[]
23
- h. workflow integration[]
23
+ 8. BPMN workflow integration
24
+ a. streamline business flow with BPMN
25
+ b. implement philosophy of bpmn documentation is source code
26
+ c. fill in minimal source code in generated listener to run whole bpmn process
27
+ d. build in integrate between both frontend and backend
28
+ e. declare workflow in jsonschema
24
29
 
25
30
  # Documentation
26
31
  1. [jsonschemas](./docs/jsonschema.md)
27
32
  2. [backend walk through](./docs/backend.md)
28
33
  3. [frontend walk through](./docs/frontend.md)
29
34
  4. [End to End test](./docs/test.md)
30
-
35
+ 5. [BPMN walk through](./docs/bpmn.md)
31
36
 
32
37
  # Quick start
33
38
  1. Simpleapp implement database transaction, and require mongodb cluster, below setup 3 nodes
@@ -2,7 +2,6 @@ export { tenant } from './tenant';
2
2
  export { organization } from './organization';
3
3
  export { branch } from './branch';
4
4
  export { permission } from './permission';
5
- export { user } from './user';
6
5
  export { autoincreament } from './autoincreament';
7
6
  export { docnoformat } from './docnoformat';
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.docnoformat = exports.autoincreament = exports.user = exports.permission = exports.branch = exports.organization = exports.tenant = void 0;
3
+ exports.docnoformat = exports.autoincreament = exports.permission = exports.branch = exports.organization = exports.tenant = void 0;
4
4
  var tenant_1 = require("./tenant");
5
5
  Object.defineProperty(exports, "tenant", { enumerable: true, get: function () { return tenant_1.tenant; } });
6
6
  var organization_1 = require("./organization");
@@ -9,8 +9,7 @@ var branch_1 = require("./branch");
9
9
  Object.defineProperty(exports, "branch", { enumerable: true, get: function () { return branch_1.branch; } });
10
10
  var permission_1 = require("./permission");
11
11
  Object.defineProperty(exports, "permission", { enumerable: true, get: function () { return permission_1.permission; } });
12
- var user_1 = require("./user");
13
- Object.defineProperty(exports, "user", { enumerable: true, get: function () { return user_1.user; } });
12
+ // export {user} from './user'
14
13
  var autoincreament_1 = require("./autoincreament");
15
14
  Object.defineProperty(exports, "autoincreament", { enumerable: true, get: function () { return autoincreament_1.autoincreament; } });
16
15
  var docnoformat_1 = require("./docnoformat");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildinschemas/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAAvB,gGAAA,MAAM,OAAA;AACd,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,mCAA+B;AAAvB,gGAAA,MAAM,OAAA;AACd,2CAAuC;AAA/B,wGAAA,UAAU,OAAA;AAClB,+BAA2B;AAAnB,4FAAA,IAAI,OAAA;AACZ,mDAA+C;AAAvC,gHAAA,cAAc,OAAA;AACtB,6CAAyC;AAAjC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildinschemas/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAAvB,gGAAA,MAAM,OAAA;AACd,+CAA2C;AAAnC,4GAAA,YAAY,OAAA;AACpB,mCAA+B;AAAvB,gGAAA,MAAM,OAAA;AACd,2CAAuC;AAA/B,wGAAA,UAAU,OAAA;AAClB,8BAA8B;AAC9B,mDAA+C;AAAvC,gHAAA,cAAc,OAAA;AACtB,6CAAyC;AAAjC,0GAAA,WAAW,OAAA"}
package/dist/framework.js CHANGED
@@ -40,7 +40,7 @@ let config = {
40
40
  "backendFolder": "./backend",
41
41
  "groupFolder": "./groups",
42
42
  "backendPort": "8000",
43
- "mongoConnectStr": 'mongodb://localhost:27017simpleapp',
43
+ "mongoConnectStr": 'mongodb://127.0.0.1:27017/simpleapp',
44
44
  "mongoDbName": 'simpleapp',
45
45
  "frontendFolder": "./frontend",
46
46
  "frontendPort": "8080",
@@ -98,7 +98,7 @@ const prepareNest = (callback) => {
98
98
  const targetfolder = config.backendFolder;
99
99
  log.info(`creating backend project ${targetfolder}`);
100
100
  if (!fs_1.default.existsSync(`${targetfolder}/.env`)) {
101
- (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/event-emitter bpmn-server moment @casl/ability jsonpath yaml lodash @types/lodash nest-keycloak-connect keycloak-connect bpmn-client @nestjs/serve-static jsonwebtoken axios @darkwolf/base64url json-schema @wearenova/mongoose-tenant @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats ajv-errors @nestjs/config`, async (error, stdout, stderr) => {
101
+ (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/event-emitter dayjs bpmn-server@2.0.6-alpha2 moment @casl/ability jsonpath yaml lodash @types/lodash nest-keycloak-connect keycloak-connect bpmn-client @nestjs/serve-static jsonwebtoken axios @darkwolf/base64url json-schema @wearenova/mongoose-tenant @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats ajv-errors @nestjs/config`, async (error, stdout, stderr) => {
102
102
  // log.info(`dependency installed`)
103
103
  if (!error) {
104
104
  // fs.mkdirSync(`${targetfolder}/public_html`,{recursive:true})
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bpmnbuilder.d.ts","sourceRoot":"","sources":["../../src/processors/bpmnbuilder.ts"],"names":[],"mappings":"AASA,eAAO,MAAO,iBAAiB,yBAAyB,MAAM,EAAE,sBA8H7D,CAAA"}
1
+ {"version":3,"file":"bpmnbuilder.d.ts","sourceRoot":"","sources":["../../src/processors/bpmnbuilder.ts"],"names":[],"mappings":"AASA,eAAO,MAAO,iBAAiB,yBAAyB,MAAM,EAAE,sBAgJ7D,CAAA"}
@@ -31,13 +31,12 @@ const tslog_1 = require("tslog");
31
31
  const libs_1 = require("./../libs");
32
32
  const fs_1 = require("fs");
33
33
  const bpmn_moddle_1 = __importDefault(require("bpmn-moddle"));
34
- const lodash_1 = __importDefault(require("lodash"));
35
34
  const constants = __importStar(require("../constant"));
36
35
  const camunda_moodle_1 = require("../resource/camunda-moodle");
37
36
  const log = new tslog_1.Logger();
38
37
  const { Eta } = require('eta');
39
38
  const generateWorkflows = async (configs, genFor) => {
40
- const invalidDelegate = /[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;
39
+ const invalidElementId = /[ `!@#$%^&*()+\-=\[\]{};':"\\|,.<>\/?~]/;
41
40
  const moddle = new bpmn_moddle_1.default({ moddleOptions: camunda_moodle_1.moddleOptions });
42
41
  const frontendFolder = configs.frontendFolder;
43
42
  const backendFolder = configs.backendFolder;
@@ -48,7 +47,7 @@ const generateWorkflows = async (configs, genFor) => {
48
47
  let workflows = [];
49
48
  if (genFor.includes('nest')) {
50
49
  (0, fs_1.mkdirSync)(`${backendFolder}/src/simpleapp/workflows/bpmn`, { recursive: true });
51
- (0, fs_1.mkdirSync)(`${backendFolder}/src/simpleapp/workflows/delegates`, { recursive: true });
50
+ (0, fs_1.mkdirSync)(`${backendFolder}/src/simpleapp/workflows/listeners`, { recursive: true });
52
51
  }
53
52
  if (genFor.includes('nuxt')) {
54
53
  (0, fs_1.mkdirSync)(`${frontendFolder}/simpleapp/workflows/bpmn`, { recursive: true });
@@ -64,60 +63,75 @@ const generateWorkflows = async (configs, genFor) => {
64
63
  const processName = bpmnfile.split('.')[0];
65
64
  const xmlstring = (0, fs_1.readFileSync)(`${bpmnfilepath}`, 'utf-8');
66
65
  const xmlobj = await moddle.fromXML(xmlstring);
67
- const elements = xmlobj.rootElement.rootElements[0].flowElements;
68
- let delegates = [];
69
- for (let i = 0; i < elements.length; i++) {
70
- const e = elements[i];
71
- switch (e.$type) {
72
- case 'bpmn:UserTask':
73
- const setting = e.get('extensionElements');
74
- if (setting && setting.values) {
75
- for (let j = 0; j < setting.values.length; j++) {
76
- const s = setting.values[j];
77
- if (s.$type == 'camunda:taskListener') {
78
- if (!invalidDelegate.test(s.delegateExpression)) {
79
- delegates.push(s.delegateExpression);
80
- }
81
- else {
82
- log.error(`bpmn File : ${bpmnfile} -> UserTask(${s.name}/${s.id}) defined invalid symbol in delegate Expression: "${s.delegateExpression}"`);
83
- throw "quite";
84
- }
85
- }
86
- }
87
- }
88
- console.log("Element user task type", e.$type, ", id:", e.id, setting);
89
- break;
90
- case 'bpmn:ServiceTask':
91
- console.log("Element service type", e.$type, ", id:", e.id);
92
- if (!invalidDelegate.test(e.delegateExpression)) {
93
- delegates.push(e.delegateExpression);
94
- }
95
- else {
96
- log.error(`bpmn File : ${bpmnfile} -> ServiceTask(${e.name}/${e.id}) defined invalid symbol in delegate Expression: "${e.delegateExpression}"`);
97
- throw "quite";
98
- }
99
- break;
66
+ const flowElements = xmlobj.rootElement.rootElements[0].flowElements;
67
+ let elements = [];
68
+ for (let i = 0; i < flowElements.length; i++) {
69
+ const e = flowElements[i];
70
+ console.log("-------element = ", e);
71
+ if (['bpmn:UserTask', 'bpmn:ServiceTask'].includes(e.$type)) {
72
+ if (invalidElementId.test(e.id)) {
73
+ log.error(`bpmn File : ${bpmnfile} -> Task(${e.name} defined invalid symbol in id:"${e.id}"`);
74
+ throw "quite";
75
+ }
76
+ const setting = {
77
+ type: e.$type,
78
+ id: e.id,
79
+ name: e.name,
80
+ documentation: (e.documentation[0] && e.documentation[0].text ? e.documentation[0].text : '').replace("\n", "\n *")
81
+ };
82
+ elements.push(setting);
100
83
  }
84
+ // switch(e.$type){
85
+ // case 'bpmn:UserTask':
86
+ // const usertasksetting = e.get('extensionElements')
87
+ // // if(setting && setting.values){
88
+ // // for(let j=0;j<setting.values.length;j++){
89
+ // // const s = setting.values[j]
90
+ // // if(s.$type=='camunda:taskListener'){
91
+ // // if(!invalidDelegate.test(s.delegateExpression)){
92
+ // // delegates.push(s.delegateExpression)
93
+ // // }else{
94
+ // // log.error(`bpmn File : ${bpmnfile} -> UserTask(${s.name}/${s.id}) defined invalid symbol in delegate Expression: "${s.delegateExpression}"`);
95
+ // // throw "quite"
96
+ // // }
97
+ // // }
98
+ // // }
99
+ // // }
100
+ // console.log("Element user task type", e.$type, ", id:",e.id)
101
+ // break;
102
+ // case 'bpmn:ServiceTask':
103
+ // console.log("Element service type", e.$type, ", id:",e.id)
104
+ // const servicetasksetting = e.get('extensionElements')
105
+ // elements.push(servicetasksetting)
106
+ // // if(!invalidDelegate.test(e.delegateExpression)){
107
+ // // delegates.push(e.delegateExpression)
108
+ // // }else{
109
+ // // log.error(`bpmn File : ${bpmnfile} -> ServiceTask(${e.name}/${e.id}) defined invalid symbol in delegate Expression: "${e.delegateExpression}"`);
110
+ // // throw "quite"
111
+ // // }
112
+ // break;
113
+ // }
101
114
  }
102
- delegates = lodash_1.default.uniq(delegates);
115
+ // delegates = _.uniq(delegates)
103
116
  const variables = {
117
+ name: processName,
104
118
  processName: (0, libs_1.capitalizeFirstLetter)(processName),
105
- delegates: delegates
119
+ elements: elements
106
120
  };
107
121
  // console.log("sample--------sample",xmlobj.rootElement.rootElements[0].name, )
108
122
  //copy workflow definition file to frontend and backend
109
123
  if (genFor.includes('nest')) {
110
124
  (0, fs_1.copyFileSync)(`${bpmnfilepath}`, `${backendFolder}/src/simpleapp/workflows/bpmn/${bpmnfile}`);
111
- const targetdelegate = `${backendFolder}/src/simpleapp/workflows/delegates/${processName}.delegate.ts`;
125
+ const targetlistener = `${backendFolder}/src/simpleapp/workflows/listeners/${processName}.listener.ts`;
112
126
  const eta = new Eta({
113
127
  views: '/',
114
128
  functionHeader: getCodeGenHelper()
115
129
  });
116
- if (!(0, fs_1.existsSync)(targetdelegate) || (0, fs_1.readFileSync)(targetdelegate, 'utf-8').includes('--remove-this-line-to-prevent-override--')) {
130
+ if (!(0, fs_1.existsSync)(targetlistener) || (0, fs_1.readFileSync)(targetlistener, 'utf-8').includes('--remove-this-line-to-prevent-override--')) {
117
131
  // //write something
118
- const templatepath = `${generateTemplatefolder}/next/delegate.ts.eta`;
132
+ const templatepath = `${generateTemplatefolder}/next/listener.ts.eta`;
119
133
  const filecontent = eta.render(templatepath, variables);
120
- (0, fs_1.writeFileSync)(targetdelegate, filecontent);
134
+ (0, fs_1.writeFileSync)(targetlistener, filecontent);
121
135
  }
122
136
  }
123
137
  if (genFor.includes('nuxt')) {
@@ -1 +1 @@
1
- {"version":3,"file":"bpmnbuilder.js","sourceRoot":"","sources":["../../src/processors/bpmnbuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bpmnbuilder.js","sourceRoot":"","sources":["../../src/processors/bpmnbuilder.ts"],"names":[],"mappings":"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"}
package/docs/bpmn.md ADDED
@@ -0,0 +1,187 @@
1
+ # BPMN Walk Through
2
+ BPMN allow us design complex computer readable business workflow diagram. Beside standard CRUD api, SimpleApp Generator allow flexible workflow by design `bpmn` document and optionally bind to specific `jsonschema` as easy access entry point.
3
+
4
+ At the moment, SimpleApp Generator using [bpmn-server](https://github.com/bpmnServer/bpmn-server) to process bpmn document, and map the business event to specific `document listener` in run time.
5
+
6
+ [bpmn-server](https://github.com/bpmnServer/bpmn-server) is young and may change frequently in future and cause some break of compatibility, but it look promising and allow very tight integration with our backend (nestjs). There is [BPMN Compatibility](#bpmn-compatibility) table
7
+
8
+
9
+ # Prepare your vscode ide
10
+ We recomend you to install vscode extension `Camunda Modeler` from `Miranium`.
11
+
12
+ # Using BPMN in SimpleApp Project
13
+ Use BPMN in SimpleApp Generator involve below steps:
14
+ 1. Write definitions and generate codes
15
+ 2. Modify generated source code
16
+
17
+
18
+ ## Write definitions and generate codes
19
+ 1. Ensure config.json declare bpmn folder,
20
+ ```json
21
+ {
22
+ ... # others props
23
+ "bpmnFolder": "./workflows/bpmn", # empty will not generate workflow codes
24
+ ... # others props
25
+ }
26
+
27
+ ```
28
+ 2. Create a sample business process definitions file: `project1/workflows/bpmn/suspendcustomer.bpmn`
29
+ ![suspendcustomer](./images/samplebpmn.jpg)
30
+ 3. (optional) Define alternate api entry point `additionalApis` at existing jsonschema to start the bpmn process.
31
+ ```json
32
+ # example customer.json
33
+ {
34
+ "type": "object",
35
+ "x-simpleapp-config": {
36
+ "documentType": "cust",
37
+ "documentName": "customer",
38
+ "uniqueKey": "customerNo",
39
+ "documentTitle": "customerName",
40
+ "generateDocumentNumber": true,
41
+ "isolationType": "org",
42
+ "pageType": "crud",
43
+ "additionalApis":[
44
+ {
45
+ "action":"suspend",
46
+ "entryPoint":":id/suspend",
47
+ "requiredRole":["Customer_update"],
48
+ "method":"patch",
49
+ "workflowSetting":{
50
+ "bpmn":"suspendcustomer"
51
+ },
52
+ "description":"Suspend specific customer (set active=false)"
53
+ }
54
+ ]
55
+ },
56
+ "properties": {
57
+ "_id": { "type": "string" },
58
+ "created": { "type": "string" },
59
+ "updated": { "type": "string" },
60
+ "createdBy": { "type": "string" },
61
+ "updatedBy": { "type": "string" },
62
+ "tenantId": { "type": "integer", "default": 1 },
63
+ "orgId": { "type": "integer", "default": 1 },
64
+ "branchId": { "type": "integer", "default": 1 },
65
+ "customerNo": {
66
+ "type": "string",
67
+ "format": "documentno",
68
+ "examples": ["S0001"]
69
+ },
70
+ "customerName": {
71
+ "type": "string",
72
+ "examples": ["Customer 1"],
73
+ "minLength": 3
74
+ },
75
+ "customerStatus": {
76
+ "type": "string",
77
+ "enum": ["unknown", "potential", "suspended", "existing"],
78
+ "examples": ["unknown"]
79
+ },
80
+ "email": {
81
+ "type": "string",
82
+ "oneOf": [{ "format": "email" }, { "enum": [""] }]
83
+ },
84
+ "tel": {
85
+ "type": "string",
86
+ "oneOf": [{ "format": "tel" }, { "enum": [""] }]
87
+ },
88
+ "active": { "type": "boolean", "default": true, "examples": [true] },
89
+ "description": { "type": "string", "format": "text" },
90
+ "docNoFormat": {
91
+ "type": "object",
92
+ "x-foreignkey": "docnoformat",
93
+ "properties": {
94
+ "_id": { "type": "string" },
95
+ "label": { "type": "string" }
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ ```
102
+ 4. Generate (or regenerate) backend codes:
103
+ ```bash
104
+ sh build.sh updatebackend
105
+ # observe generated code at below path:
106
+ # backend/src/simpleapp/services/cust.service.ts
107
+ # backend/src/simpleapp/workflows/bpmn/suspendcustomer.bpmn.ts
108
+ # backend/src/simpleapp/workflows/listeners/suspendcustomer.listener.ts
109
+ ```
110
+ 5. restart backend service
111
+ 6. regenerate frontend codes (ensure backend regenerated and service restart):
112
+ ```sh
113
+ sh build.sh updatefrontend
114
+ ```
115
+ 7. restart frontend service
116
+
117
+
118
+
119
+ ## Modify generated source code
120
+ After source code generated, it add files into frontend and backend:
121
+ ### Generated backend workflow files
122
+ 1. `./src/simpleapp/workflows/bpmn/suspendcustomer.bpmn`: backend will use the bpmn to spawn workflow process
123
+ 2. `./src/simpleapp/workflows/listeners/suspendcustomer.listener.ts`: this file will provide sample code of listen common `usertask` and `servicetask`.
124
+ 3. `./src/simpleapp/services/cust.service.ts`: If `customer.json` added additionalApis, after regenerate backend `customer.service.ts` auto created new rest api `runSuspend`, which will route the execution to generate new workflow process `suspendcustomer`.
125
+
126
+ ### Generated frontend workflow files
127
+ 1. `./simpleapp/workflows/bpmn/suspendcustomer.bpmn`: keep here for reference, frontend can render bpmn ui with this file
128
+ 2. `./simpleapp/generate/clients/CustomerClient.ts`: added api entry point `runSuspend`.
129
+
130
+
131
+ ### Understand Listener Codes
132
+ `./src/simpleapp/workflows/listeners/suspendcustomer.listener.ts` provide sample listener code of below task:
133
+
134
+ #### User Task
135
+ Sample code listen on user task `wait` & `invoke` event. you can add more (support `start,wait,invoke,end,assign`)
136
+ 1. `start`: task begin, seldom use
137
+ 2. `wait`: workflow suspend and waiting user input. You may send notification to users base on `props:UserTaskData`. To trigger workflow continue we shall call api `workflow/invoke-task/:taskId`
138
+ 3. `invoked`: during user invoked process, you will obtain input data from actor. The workflow will go to `end` then move to next task
139
+ 4. `end`: when current task completed, before move to next process (seldom use)
140
+ 5. `assign`: during trigger when current task properties like assignee, candidateUsers, duedata changed. workflow status remain unchange.
141
+ #### Service Task
142
+ Sample code listen on `start` only, it support `start` and `end`. Event characteristic for `start` & `end` same with User task
143
+
144
+ ### Modify Listener Codes
145
+
146
+ 1. Remove `* --remove-this-line-to-prevent-override--` from top comment in `./src/simpleapp/workflows/listeners/suspendcustomer.listener.ts`
147
+ 2. Put in suspend customer source code by modify the file.
148
+ ```ts
149
+ //plenty of import here
150
+ @Injectable()
151
+ export class SuspendcustomerListenerService extends SimpleAppListenerService {
152
+ logger = new Logger();
153
+ constructor() {
154
+ super();
155
+ }
156
+ @OnEvent('suspendcustomer.hello1.start')
157
+ async watch_hello1_start(props: ServiceTaskData) {
158
+ console.log('Running listener suspendcustomer.hello1.start', props);
159
+ }
160
+ }
161
+ ```
162
+ to
163
+ ```ts
164
+ //plenty of import here
165
+ import { CustomerService } from 'src/simpleapp/services/cust.service'; //import customer service class
166
+ @Injectable()
167
+ export class SuspendcustomerListenerService extends SimpleAppListenerService {
168
+ logger = new Logger();
169
+ constructor(private custService:CustomerService) { //inject custService object
170
+ super();
171
+ }
172
+
173
+ @OnEvent('suspendcustomer.hello1.start')
174
+ async watch_hello1_start(props: ServiceTaskData) {
175
+ const appuser = this.prepareAppUser(props.data) //obtain user info, and perform data isolation
176
+ const id = props.data._id
177
+ //find existing record and suspend it
178
+ const newdata = await this.custService.findById(appuser,id)
179
+ newdata.active=false
180
+ await this.custService.findIdThenUpdate(appuser,props.data._id,newdata) //save into database
181
+ }
182
+ }
183
+ ```
184
+
185
+ # BPMN Compatibility
186
+ | type |status|description|
187
+ |------|------|-----------|
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -2,6 +2,6 @@ export {tenant} from './tenant'
2
2
  export {organization} from './organization'
3
3
  export {branch} from './branch'
4
4
  export {permission} from './permission'
5
- export {user} from './user'
5
+ // export {user} from './user'
6
6
  export {autoincreament} from './autoincreament'
7
7
  export {docnoformat} from './docnoformat'
package/src/framework.ts CHANGED
@@ -12,7 +12,7 @@ let config = {
12
12
  "backendFolder":"./backend",
13
13
  "groupFolder":"./groups",
14
14
  "backendPort":"8000",
15
- "mongoConnectStr":'mongodb://localhost:27017simpleapp',
15
+ "mongoConnectStr":'mongodb://127.0.0.1:27017/simpleapp',
16
16
  "mongoDbName":'simpleapp',
17
17
  "frontendFolder":"./frontend",
18
18
  "frontendPort":"8080",
@@ -70,7 +70,7 @@ export const prepareNest = (callback:Function)=>{
70
70
  if(!fs.existsSync(`${targetfolder}/.env`)){
71
71
 
72
72
 
73
- exec(`cd ${targetfolder};pnpm install --save @nestjs/event-emitter bpmn-server moment @casl/ability jsonpath yaml lodash @types/lodash nest-keycloak-connect keycloak-connect bpmn-client @nestjs/serve-static jsonwebtoken axios @darkwolf/base64url json-schema @wearenova/mongoose-tenant @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats ajv-errors @nestjs/config`,async (error, stdout, stderr)=>{
73
+ exec(`cd ${targetfolder};pnpm install --save @nestjs/event-emitter dayjs bpmn-server@2.0.6-alpha2 moment @casl/ability jsonpath yaml lodash @types/lodash nest-keycloak-connect keycloak-connect bpmn-client @nestjs/serve-static jsonwebtoken axios @darkwolf/base64url json-schema @wearenova/mongoose-tenant @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats ajv-errors @nestjs/config`,async (error, stdout, stderr)=>{
74
74
  // log.info(`dependency installed`)
75
75
  if(!error){
76
76
  // fs.mkdirSync(`${targetfolder}/public_html`,{recursive:true})