@simitgroup/simpleapp-generator 2.0.1-z-alpha → 2.0.2-b-alpha

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 (47) hide show
  1. package/ReleaseNote.md +12 -0
  2. package/dist/buildinschemas/autoincreament.js +1 -1
  3. package/dist/buildinschemas/docnoformat.js +1 -1
  4. package/dist/buildinschemas/docnoformat.js.map +1 -1
  5. package/dist/buildinschemas/documentevent.js +1 -1
  6. package/dist/buildinschemas/message.d.ts +3 -0
  7. package/dist/buildinschemas/message.d.ts.map +1 -0
  8. package/dist/buildinschemas/message.js +34 -0
  9. package/dist/buildinschemas/message.js.map +1 -0
  10. package/dist/buildinschemas/webhookhistory.d.ts +3 -0
  11. package/dist/buildinschemas/webhookhistory.d.ts.map +1 -0
  12. package/dist/buildinschemas/webhookhistory.js +44 -0
  13. package/dist/buildinschemas/webhookhistory.js.map +1 -0
  14. package/dist/createproject.js +138 -0
  15. package/dist/createproject.js.map +1 -0
  16. package/dist/generate-allow-changebackend.js +305 -0
  17. package/dist/generate-allow-changebackend.js.map +1 -0
  18. package/dist/index2.js +118 -0
  19. package/dist/index2.js.map +1 -0
  20. package/dist/installdependency.js +20 -0
  21. package/dist/installdependency.js.map +1 -0
  22. package/dist/installnest.js +2 -0
  23. package/dist/installnest.js.map +1 -0
  24. package/dist/installnuxt.js +2 -0
  25. package/dist/installnuxt.js.map +1 -0
  26. package/dist/processors/groupsbuilder.js +2 -0
  27. package/dist/processors/groupsbuilder.js.map +1 -0
  28. package/dist/schematype/baseschema.js +25 -0
  29. package/dist/schematype/baseschema.js.map +1 -0
  30. package/dist/schematype/default.js +2 -0
  31. package/dist/schematype/default.js.map +1 -0
  32. package/dist/schematype/index.js +12 -0
  33. package/dist/schematype/index.js.map +1 -0
  34. package/dist/schematype/primarymasterdata.js +38 -0
  35. package/dist/schematype/primarymasterdata.js.map +1 -0
  36. package/dist/schematype/simple.js +24 -0
  37. package/dist/schematype/simple.js.map +1 -0
  38. package/dist/schematype/simplemasterdata.js +31 -0
  39. package/dist/schematype/simplemasterdata.js.map +1 -0
  40. package/dist/schematype/transaction.js +74 -0
  41. package/dist/schematype/transaction.js.map +1 -0
  42. package/package.json +1 -1
  43. package/templates/basic/miniApi/resource.controller.ts.eta +3 -1
  44. package/templates/nest/src/simple-app/_core/features/document-no-format/document-no-format.service.ts.eta +21 -13
  45. package/templates/nest/src/simple-app/_core/features/user-context/user.context.ts.eta +1 -0
  46. package/templates/nest/src/simple-app/_core/framework/simple-app.interceptor.ts.eta +1 -1
  47. package/templates/nuxt/app.vue.eta +1 -1
package/ReleaseNote.md CHANGED
@@ -1,3 +1,15 @@
1
+ [2.0.2b-alpha]
2
+
3
+ 1. fix generate no bugs
4
+
5
+ [2.0.2a-alpha]
6
+
7
+ 1. interceptor set await close session
8
+ 2. allow use env variable skip session in document numbering generator
9
+ 3. some partial type improvement
10
+ 4. fix some document no format
11
+
12
+
1
13
  [2.0.1z-alpha]
2
14
 
3
15
  1. Handle whitelist confirm and void api
@@ -15,7 +15,7 @@ exports.autoincreament = {
15
15
  entryPoint: 'gennextno/:collection/:field',
16
16
  requiredRole: ['User'],
17
17
  method: type_1.RESTMethods.get,
18
- responseType: 'Autoincreament',
18
+ responseType: 'AutoIncreament',
19
19
  description: 'Get next no and trigger increase nextno'
20
20
  }
21
21
  ],
@@ -17,7 +17,7 @@ exports.docnoformat = {
17
17
  action: 'listDocFormats',
18
18
  entryPoint: '/listdocformats/:doctype',
19
19
  requiredRole: ['User'],
20
- responseType: '[Docnoformat]',
20
+ responseType: '[DocumentNoFormat]',
21
21
  method: type_1.RESTMethods.get,
22
22
  description: 'get list of document format for 1 doctype'
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,eAAe;gBAC7B,MAAM,EAAE,kBAAW,CAAC,GAAG;gBACvB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,YAAY,EAAE,kBAAkB;KACjC;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,wBAAwB,CAAC,EAAE;QACzE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;YAC9C,WAAW,EAAE,iCAAiC;SAC/C;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;KAC5C;CACF,CAAC"}
1
+ {"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,oBAAoB;gBAClC,MAAM,EAAE,kBAAW,CAAC,GAAG;gBACvB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,YAAY,EAAE,kBAAkB;KACjC;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,wBAAwB,CAAC,EAAE;QACzE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;YAC9C,WAAW,EAAE,iCAAiC;SAC/C;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;KAC5C;CACF,CAAC"}
@@ -42,7 +42,7 @@ exports.documentevent = {
42
42
  ],
43
43
  examples: ['create', 'delete']
44
44
  },
45
- eventdata: {}
45
+ eventData: {}
46
46
  }
47
47
  };
48
48
  //# sourceMappingURL=documentevent.js.map
@@ -0,0 +1,3 @@
1
+ import { SchemaType } from '../type';
2
+ export declare const docnoformat: SchemaType;
3
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,WAAW,EAAC,UA6BtB,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.docnoformat = void 0;
4
+ const type_1 = require("../type");
5
+ exports.docnoformat = {
6
+ "type": "object",
7
+ "x-simpleapp-config": {
8
+ "documentType": "msg",
9
+ "documentName": "message",
10
+ "isolationType": type_1.IsolationType.tenant,
11
+ "documentTitle": "messageTitle"
12
+ },
13
+ "properties": {
14
+ "_id": { "type": "string" },
15
+ "created": { "type": "string" },
16
+ "updated": { "type": "string" },
17
+ "createdBy": { "type": "string" },
18
+ "updatedBy": { "type": "string" },
19
+ "tenantId": { "type": "integer", "default": 1 },
20
+ "orgId": { "type": "integer", "default": 1 },
21
+ "branchId": { "type": "integer", "default": 1 },
22
+ "messageTitle": {
23
+ "type": "string",
24
+ "minLength": 3
25
+ },
26
+ "read": { "type": "boolean", "default": false },
27
+ "url": { "type": "string" },
28
+ "description": {
29
+ "type": "string",
30
+ "format": "text"
31
+ }
32
+ }
33
+ };
34
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,WAAW,GACxB;IACI,MAAM,EAAE,QAAQ;IAChB,oBAAoB,EAAE;QACpB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,oBAAa,CAAC,MAAM;QACrC,eAAe,EAAE,cAAc;KAChC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC5C,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;SACf;QACD,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC;QAC9C,KAAK,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAC;QACzB,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { SchemaType } from '../type';
2
+ export declare const webhookhistory: SchemaType;
3
+ //# sourceMappingURL=webhookhistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhookhistory.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,cAAc,EAAC,UAsC3B,CAAA"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhookhistory = void 0;
4
+ const type_1 = require("../type");
5
+ exports.webhookhistory = {
6
+ type: "object",
7
+ "x-simpleapp-config": {
8
+ documentType: 'webhookhistory',
9
+ documentName: 'webhookhistory',
10
+ isolationType: type_1.IsolationType.tenant,
11
+ // uniqueKey:'documentName',
12
+ // documentTitle:'documentName'
13
+ // pageType:"crud",
14
+ },
15
+ required: ["documentName", "url"],
16
+ properties: {
17
+ _id: { type: 'string' },
18
+ created: { type: 'string' },
19
+ updated: { type: 'string' },
20
+ createdBy: { type: 'string' },
21
+ updatedBy: { type: 'string' },
22
+ tenantId: { type: 'integer', default: 1, minimum: 0 },
23
+ orgId: { type: 'integer', default: 1, minimum: 0 },
24
+ branchId: { type: 'integer', default: 1, minimum: 0 },
25
+ webHookId: { type: "string", format: "uuid" },
26
+ url: { type: "string", format: 'uri' },
27
+ authentication: { type: "string" },
28
+ headers: {
29
+ type: "array",
30
+ items: {
31
+ type: "object",
32
+ description: "http headers",
33
+ properties: {
34
+ name: { type: 'string' },
35
+ value: { type: 'string' }
36
+ }
37
+ }
38
+ },
39
+ description: { type: "string", format: "text" },
40
+ setting: { type: "string", format: "text" },
41
+ result: { type: "string" }
42
+ }
43
+ };
44
+ //# sourceMappingURL=webhookhistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhookhistory.js","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,cAAc,GAAc;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAC;QACnB,YAAY,EAAC,gBAAgB;QAC7B,YAAY,EAAC,gBAAgB;QAC7B,aAAa,EAAC,oBAAa,CAAC,MAAM;QAClC,4BAA4B;QAC5B,+BAA+B;QAC/B,yBAAyB;KAC1B;IACD,QAAQ,EAAC,CAAC,cAAc,EAAC,KAAK,CAAC;IAC/B,UAAU,EAAE;QACV,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,KAAK,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC5C,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACvC,GAAG,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,KAAK,EAAC;QACnC,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;QAChC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAC;gBACJ,IAAI,EAAC,QAAQ;gBACb,WAAW,EAAC,cAAc;gBAC1B,UAAU,EAAC;oBACT,IAAI,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;oBACpB,KAAK,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;iBACtB;aACF;SACF;QACD,WAAW,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QAC3C,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACrC,MAAM,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;KACvB;CACJ,CAAA"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createNest = exports.createNuxt = exports.installDependency = void 0;
27
+ const child_process_1 = require("child_process");
28
+ const fs_1 = require("fs");
29
+ const constants = __importStar(require("./constant"));
30
+ const tslog_1 = require("tslog");
31
+ const log = new tslog_1.Logger();
32
+ const { Eta } = require('eta');
33
+ const checkNodeJS = (callback) => {
34
+ return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
35
+ if (error) {
36
+ throw ("Nodejs not exists");
37
+ }
38
+ else {
39
+ callback();
40
+ }
41
+ });
42
+ };
43
+ const checkNestCli = (callback) => {
44
+ log.info("setting up nest backend");
45
+ return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
46
+ if (error) {
47
+ return (0, child_process_1.exec)(`npm i -g @nestjs/cli`, (error, stdout, stderr) => {
48
+ callback();
49
+ });
50
+ }
51
+ else {
52
+ callback();
53
+ }
54
+ });
55
+ };
56
+ const installDependency = async () => {
57
+ log.info("installDependency 'npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi'");
58
+ return await (0, child_process_1.exec)("npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi");
59
+ };
60
+ exports.installDependency = installDependency;
61
+ const createNuxt = (targetfolder, callback) => {
62
+ log.info("setting up nuxt frontend ${targetfolder}");
63
+ log.info(`frontend nuxt project "${targetfolder}" created, installing module`);
64
+ (0, child_process_1.exec)(`cd ${targetfolder};pnpm install;pnpm install -D @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core nuxt-security prettier @nuxt/ui`, (error, stdout, stderr) => {
65
+ //;pnpm install
66
+ console.log(error, stdout, stderr);
67
+ (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save ajv dotenv @fullcalendar/core @fullcalendar/vue3 quill uuid ajv-formats primeflex primeicons prettier primevue axios json-schema mitt @simitgroup/simpleapp-vue-component@latest`, (error, stdout, stderr) => {
68
+ console.log(error, stdout, stderr);
69
+ (0, fs_1.mkdirSync)(`${targetfolder}/assets/css/`, { recursive: true });
70
+ (0, fs_1.mkdirSync)(`${targetfolder}/layouts`, { recursive: true });
71
+ (0, fs_1.mkdirSync)(`${targetfolder}/components`, { recursive: true });
72
+ (0, fs_1.mkdirSync)(`${targetfolder}/server/api`, { recursive: true });
73
+ (0, fs_1.mkdirSync)(`${targetfolder}/pages`, { recursive: true });
74
+ (0, fs_1.mkdirSync)(`${targetfolder}/plugins`, { recursive: true });
75
+ const eta = new Eta({ views: `${constants.templatedir}/nuxt` });
76
+ const variables = [];
77
+ const writes = {
78
+ './app.vue.eta': 'app.vue',
79
+ './components.eventmonitor.vue.eta': 'components/EventMonitor.vue',
80
+ './components.menus.vue.eta': 'components/Menus.vue',
81
+ './components.crudsimple.vue.eta': 'components/CrudSimple.vue',
82
+ './components.debugdocdata.vue.eta': 'components/DebugDocumentData.vue',
83
+ './layouts.default.vue.eta': 'layouts/default.vue',
84
+ './server.api.ts.eta': 'server/api/[...].ts',
85
+ './nuxt.config.ts.eta': 'nuxt.config.ts',
86
+ './pages.index.vue.eta': 'pages/index.vue',
87
+ './plugins.simpleapp.ts.eta': 'plugins/simpleapp.ts',
88
+ './tailwind.config.ts.eta': 'tailwind.config.ts',
89
+ './tailwind.css.eta': 'assets/css/tailwind.css',
90
+ './env.eta': '.env',
91
+ };
92
+ const templates = Object.getOwnPropertyNames(writes);
93
+ for (let i = 0; i < templates.length; i++) {
94
+ const template = templates[i];
95
+ const filename = writes[template];
96
+ const txt = eta.render(template, variables);
97
+ const file = `${targetfolder}/${filename}`;
98
+ log.info("writing ", file);
99
+ (0, fs_1.writeFileSync)(file, txt);
100
+ }
101
+ log.info("nuxt project completed");
102
+ callback();
103
+ });
104
+ });
105
+ };
106
+ exports.createNuxt = createNuxt;
107
+ const createNest = (targetfolder, callback) => {
108
+ // checkNestCli(()=>{
109
+ log.info(`creating backend project ${targetfolder}`);
110
+ (0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats @nestjs/config`, async (error, stdout, stderr) => {
111
+ // log.info(`dependency installed`)
112
+ if (!error) {
113
+ (0, child_process_1.exec)(`pnpm install ajv ajv-formats axios json-schema`, (error, stdout, stderr) => {
114
+ const eta = new Eta({ views: constants.templatedir });
115
+ const variables = [];
116
+ const txtEnv = eta.render('./nest.env.eta', variables);
117
+ const txtMain = eta.render('./nest.main.eta', variables);
118
+ (0, fs_1.writeFileSync)(`${targetfolder}/.env`, txtEnv);
119
+ (0, fs_1.writeFileSync)(`${targetfolder}/src/main.ts`, txtMain);
120
+ const tsconfigpath = process.cwd() + '/' + `${targetfolder}/tsconfig.json`;
121
+ const tsconfig = require(tsconfigpath);
122
+ tsconfig.compilerOptions.esModuleInterop = true;
123
+ tsconfig.compilerOptions.resolveJsonModule = true;
124
+ (0, fs_1.writeFileSync)(tsconfigpath, JSON.stringify(tsconfig));
125
+ log.info("nest project completed");
126
+ callback();
127
+ });
128
+ }
129
+ else {
130
+ log.error(stderr);
131
+ throw error;
132
+ }
133
+ });
134
+ //
135
+ // })
136
+ };
137
+ exports.createNest = createNest;
138
+ //# sourceMappingURL=createproject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createproject.js","sourceRoot":"","sources":["../src/createproject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.initialize = void 0;
27
+ // import { readFormBuilder } from './processors/formbuilder.tsa';
28
+ // import { readJsonSchemaBuilder } from './processors/jsonschemabuilder';
29
+ const constants = __importStar(require("./constant"));
30
+ const jsonschemabuilder_1 = require("./processors/jsonschemabuilder");
31
+ const storage_1 = require("./storage");
32
+ const tslog_1 = require("tslog");
33
+ const log = new tslog_1.Logger();
34
+ const clc = require("cli-color");
35
+ const path = require('path');
36
+ const fs_1 = require("fs");
37
+ const { Eta } = require('eta');
38
+ const { capitalizeFirstLetter } = require('./libs');
39
+ const X_DOCUMENT_TYPE = 'x-document-type';
40
+ const X_DOCUMENT_NAME = 'x-document-name';
41
+ const X_COLLECTION_NAME = 'x-collection-name';
42
+ const extFb = '.xfb.json';
43
+ const extHfb = '.xhfb.json';
44
+ const extjsonschema = '.jsonschema.json';
45
+ let jsonschemas = {};
46
+ const docs = [];
47
+ const initialize = async (defFolder, bpmnFolder, backendfolder, frontendfolder, callback) => {
48
+ prepareEnvironments(backendfolder, frontendfolder);
49
+ let activatemodules = [];
50
+ //
51
+ /*
52
+ load available bpmn into array
53
+ */
54
+ const files = (0, fs_1.readdirSync)(defFolder);
55
+ // log.warn("all schemas:",files)
56
+ // readdir(defFolder, (err, files) => {
57
+ // files.forEach((file) => {
58
+ for (let j = 0; j < files.length; j++) {
59
+ const file = files[j];
60
+ log.info(`Load ` + clc.green(file));
61
+ const filearr = file.split('.');
62
+ let rendertype = 'basic';
63
+ let docname = filearr[0].toLowerCase();
64
+ let doctype = filearr[1].toLowerCase();
65
+ const jsonstring = (0, fs_1.readFileSync)(defFolder + path.sep + file, 'utf-8');
66
+ let allmodels = {};
67
+ if (file.endsWith(extjsonschema)) {
68
+ const jsondata = JSON.parse(jsonstring);
69
+ rendertype = 'basic';
70
+ jsonschemas[docname] = jsondata;
71
+ // foreignkeys:
72
+ // tmpforeignkeys:TypeForeignKey
73
+ allmodels = await (0, jsonschemabuilder_1.readJsonSchemaBuilder)(doctype, docname, jsondata, storage_1.foreignkeys);
74
+ //foreignkeycatalogues
75
+ // foreignkeys
76
+ generate(docname, doctype, rendertype, allmodels, backendfolder, frontendfolder);
77
+ activatemodules.push({ doctype: doctype, docname: capitalizeFirstLetter(docname), api: jsondata['x-document-api'] });
78
+ }
79
+ else {
80
+ log.warn(`Load ` + clc.yellow(file) + ` but it is not supported`);
81
+ }
82
+ }
83
+ // log.warn("foreignkeys---",foreignkeys)
84
+ log.info("Activated backend modules: ", JSON.stringify(activatemodules));
85
+ // log.info(activatemodules)
86
+ finalize(activatemodules, backendfolder, frontendfolder);
87
+ callback();
88
+ };
89
+ exports.initialize = initialize;
90
+ const generate = (docname, doctype, rendertype, allmodels, backendfolder, frontendfolder) => {
91
+ const targetfolder = `${backendfolder}/src/docs/${doctype}`;
92
+ const frontendpagefolder = `${frontendfolder}/pages/[xorg]`;
93
+ try {
94
+ (0, fs_1.mkdirSync)(targetfolder, { recursive: true });
95
+ (0, fs_1.mkdirSync)(`${frontendfolder}/generate/docs/`, { recursive: true });
96
+ (0, fs_1.mkdirSync)(`${frontendfolder}/simpleapp`, { recursive: true });
97
+ (0, fs_1.mkdirSync)(frontendpagefolder, { recursive: true });
98
+ }
99
+ catch (err) {
100
+ //do nothing if folder exists
101
+ }
102
+ finally {
103
+ const templatefolder = `${constants.templatedir}/${rendertype}`;
104
+ log.info(`- Generate ${docname}, ${doctype}, ${templatefolder}`);
105
+ const eta = new Eta({
106
+ views: templatefolder,
107
+ functionHeader: 'const capitalizeFirstLetter = (str) => str.slice(0, 1).toUpperCase() + str.slice(1);' +
108
+ 'const initType=(str)=>{return ["string","number","boolean","array","object"].includes(str) ? capitalizeFirstLetter(str) : str;}',
109
+ });
110
+ const variables = {
111
+ name: docname,
112
+ doctype: doctype,
113
+ models: allmodels,
114
+ autocompletecode: allmodels[capitalizeFirstLetter(docname)].codeField,
115
+ autocompletename: allmodels[capitalizeFirstLetter(docname)].nameField,
116
+ moreAutoComplete: allmodels[capitalizeFirstLetter(docname)].moreAutoComplete,
117
+ schema: allmodels[capitalizeFirstLetter(docname)].model,
118
+ apiSchemaName: capitalizeFirstLetter(docname),
119
+ typename: capitalizeFirstLetter(docname),
120
+ fullApiSchemaName: doctype + 'apischema.' + capitalizeFirstLetter(docname),
121
+ fullTypeName: doctype + 'type.' + capitalizeFirstLetter(docname),
122
+ jsonschema: jsonschemas[docname],
123
+ bothEndCode: '',
124
+ frontEndCode: '',
125
+ backEndCode: '',
126
+ controllerCode: '',
127
+ apiSchemaCode: '',
128
+ docStatusSettings: allmodels[capitalizeFirstLetter(docname)].docStatusSettings,
129
+ apiSettings: allmodels[capitalizeFirstLetter(docname)].apiSettings,
130
+ requireautocomplete: allmodels[capitalizeFirstLetter(docname)].requireautocomplete,
131
+ isolationtype: allmodels[capitalizeFirstLetter(docname)].isolationtype
132
+ };
133
+ // console.log('generate 2', JSON.stringify(variables));
134
+ // // const txtUISchema = eta.render('./uischema', variables);
135
+ // console.log('generate 4');
136
+ // console.log('generate 2', variables);
137
+ const txtType = eta.render('./type', variables);
138
+ (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.type.ts`, txtType);
139
+ // compile(jsonschemas[docname], docname).then((txtType: string) => {
140
+ // writeFileSync(`${targetfolder}/${doctype}.type.ts`, txtType);
141
+ // });
142
+ // generate jsonschema object, use for data validation
143
+ const txtJsonSchema = eta.render('./jsonschema', variables);
144
+ (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.jsonschema.ts`, txtJsonSchema);
145
+ // generate before save source code, wont override after regenerate
146
+ // const customizefilename = `${targetfolder}/${doctype}.beforesave.ts`;
147
+ // if (!existsSync(customizefilename)) {
148
+ // const txtBeforeSave = eta.render('./beforesave', variables);
149
+ // writeFileSync(
150
+ // `${targetfolder}/${doctype}.beforesave.ts`,
151
+ // txtBeforeSave,
152
+ // );
153
+ // }
154
+ // write mongoose model file
155
+ const txtModel = eta.render('./model', variables);
156
+ (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.model.ts`, txtModel);
157
+ // prepare openapi schema
158
+ const apischemafile = `${targetfolder}/${doctype}.apischema.ts`;
159
+ if ((0, fs_1.existsSync)(apischemafile)) {
160
+ const apischemaCode = (0, fs_1.readFileSync)(apischemafile).toString();
161
+ const regexapischema = /\/\/<begin-apischema-code>([\s\S]*?)\/\/<end-apischema-code>/g;
162
+ const apischemaresult = apischemaCode.match(regexapischema);
163
+ if (apischemaresult) {
164
+ variables.apiSchemaCode = apischemaresult[0];
165
+ }
166
+ else {
167
+ variables.apiSchemaCode = "//<begin-apischema-code>\n//<end-apischema-code>";
168
+ }
169
+ }
170
+ const txtApiSchema = eta.render('./apischema', variables);
171
+ (0, fs_1.writeFileSync)(apischemafile, txtApiSchema);
172
+ // prepare backend classes
173
+ // prepare frontend api client
174
+ const servicefile = `${targetfolder}/${doctype}.service.ts`;
175
+ let bothEndCode = '';
176
+ let backEndCode = '';
177
+ if ((0, fs_1.existsSync)(servicefile)) {
178
+ const servicecodes = (0, fs_1.readFileSync)(servicefile).toString();
179
+ /* extract string bothend and backend, put in back */
180
+ const regex1 = /\/\/<begin-bothend-code>([\s\S]*?)\/\/<end-bothend-code>/g;
181
+ const regex2 = /\/\/<begin-backend-code>([\s\S]*?)\/\/<end-backend-code>/g;
182
+ const bothendresult = servicecodes.match(regex1);
183
+ const backendresult = servicecodes.match(regex2);
184
+ console.log("bothendresult", bothendresult);
185
+ console.log("backendresult", backendresult);
186
+ if (bothendresult) {
187
+ variables.bothEndCode = bothendresult[0];
188
+ }
189
+ else {
190
+ variables.bothEndCode = "//<begin-bothend-code>\n//<end-bothend-code>";
191
+ }
192
+ if (backendresult) {
193
+ variables.backEndCode = backendresult[0];
194
+ }
195
+ else {
196
+ variables.backEndCode = "//<begin-backend-code>\n//<end-backend-code>";
197
+ }
198
+ }
199
+ const txtService = eta.render('./service', variables);
200
+ (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.service.ts`, txtService);
201
+ // prepare api router, allow add more api and wont override after regenerate
202
+ const controllerfile = `${targetfolder}/${doctype}.controller.ts`;
203
+ let controllerCode = '';
204
+ if ((0, fs_1.existsSync)(controllerfile)) {
205
+ /* extract customized controller, put in back */
206
+ const controllersourcecodes = (0, fs_1.readFileSync)(controllerfile).toString();
207
+ const controllerregex = /\/\/<begin-controller-code>([\s\S]*?)\/\/<end-controller-code>/g;
208
+ const controllerresult = controllersourcecodes.match(controllerregex);
209
+ if (controllerresult) {
210
+ controllerCode = controllerresult[0];
211
+ }
212
+ }
213
+ variables.controllerCode = controllerCode != '' ? controllerCode : "\n//<begin-controller-code>\n//<end-controller-code>";
214
+ const txtController = eta.render('./controller', variables);
215
+ (0, fs_1.writeFileSync)(controllerfile, txtController);
216
+ // prepare module
217
+ const txtModule = eta.render('./module', variables);
218
+ (0, fs_1.writeFileSync)(`${targetfolder}/${doctype}.module.ts`, txtModule);
219
+ // prepare readme
220
+ // const txtReadme = eta.render('./readme', variables);
221
+ // writeFileSync(`${targetfolder}/README.md`, txtReadme);
222
+ const frontendclient = `${frontendfolder}/generate/docs/${variables.typename}Client.ts`;
223
+ // let frontEndCode = '';
224
+ // if (existsSync(frontendfile)) {
225
+ // const clientcodes = readFileSync(frontendfile).toString();
226
+ /* extract string frontend code, put in back */
227
+ // const regex3 =
228
+ // /\/\/<begin-frontend-code>([\s\S]*?)\/\/<end-frontend-code>/g;
229
+ // const frontendresult = clientcodes.match(regex3);
230
+ // if (frontendresult) {
231
+ // frontEndCode = frontendresult[0];
232
+ // }
233
+ // }
234
+ // variables.frontEndCode = frontEndCode ?? '';
235
+ const txtClient = eta.render('./simpleappclient.eta', variables);
236
+ (0, fs_1.writeFileSync)(frontendclient, txtClient);
237
+ const frontenddoc = `${frontendfolder}/simpleapp/${variables.typename}Doc.ts`;
238
+ const txtDoc = eta.render('./simpleappdoc.eta', variables);
239
+ (0, fs_1.writeFileSync)(frontenddoc, txtDoc);
240
+ generateClientPage(variables, eta, frontendpagefolder);
241
+ log.info(`- write completed: ${doctype}`);
242
+ }
243
+ };
244
+ const generateClientPage = (variables, eta, frontendpagefolder) => {
245
+ const docname = variables.name;
246
+ const targetfolder = `${frontendpagefolder}/${docname}`;
247
+ const overridefilename = `${targetfolder}/delete-me-for-avoid-override`;
248
+ if (!(0, fs_1.existsSync)(targetfolder)) {
249
+ (0, fs_1.mkdirSync)(targetfolder);
250
+ (0, fs_1.writeFileSync)(overridefilename, 'delete this file to prevent override by generator');
251
+ }
252
+ if ((0, fs_1.existsSync)(overridefilename)) {
253
+ const txtIndex = eta.render('./pageindex.vue.eta', variables);
254
+ const txtIndexwithid = eta.render('./pageindexwithid.vue.eta', variables);
255
+ (0, fs_1.writeFileSync)(`${targetfolder}/index.vue`, txtIndex);
256
+ (0, fs_1.writeFileSync)(`${targetfolder}/[id].vue`, txtIndexwithid);
257
+ }
258
+ };
259
+ const prepareEnvironments = (backendfolder, frontendfolder) => {
260
+ const targetfolder = `${backendfolder}/src/class`;
261
+ const targetfrontendfolder = `${frontendfolder}/server/api`;
262
+ try {
263
+ (0, fs_1.mkdirSync)(targetfolder, { recursive: true });
264
+ (0, fs_1.mkdirSync)(targetfrontendfolder, { recursive: true });
265
+ }
266
+ catch (error) {
267
+ //do nothing
268
+ }
269
+ (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/SimpleAppService.eta`, `${targetfolder}/SimpleAppService.ts`);
270
+ (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/SimpleAppController.eta`, `${targetfolder}/SimpleAppController.ts`);
271
+ (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/Workflow.eta`, `${targetfolder}/Workflow.ts`);
272
+ (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/TenantMiddleware.eta`, `${targetfolder}/TenantMiddleware.ts`);
273
+ (0, fs_1.copyFileSync)(`${constants.templatedir}/nest/UserProvider.eta`, `${targetfolder}/UserProvider.ts`);
274
+ //copy over frontend apiabstract class
275
+ // copyFileSync(`${constants.templatedir}/nuxt.apigateway.eta`,`${targetfrontendfolder}/[...].ts`)
276
+ //prepare backend config.ts
277
+ //copy over frontend config.ts
278
+ };
279
+ const finalize = (modules, backendfolder, frontendfolder) => {
280
+ log.info("Finalizing");
281
+ (0, fs_1.mkdirSync)(`${backendfolder}/src/dicts/`, { recursive: true });
282
+ (0, fs_1.mkdirSync)(`${frontendfolder}/composables/`, { recursive: true });
283
+ const writefiles = {
284
+ './nest/app.module.eta': `${backendfolder}/src/app.module.ts`,
285
+ './nest/app.service.eta': `${backendfolder}/src/app.service.ts`,
286
+ './nest/app.controller.eta': `${backendfolder}/src/app.controller.ts`,
287
+ './nuxt/composables.getautocomplete.ts.eta': `${frontendfolder}/composables/getAutocomplete.ts`,
288
+ './nuxt/composables.getmenus.ts.eta': `${frontendfolder}/composables/getMenus.ts`,
289
+ './nuxt/composables.stringHelper.ts.eta': `${frontendfolder}/composables/stringHelper.ts`,
290
+ './nuxt/composables.gettenant.ts.eta': `${frontendfolder}/composables/getTenant.ts`,
291
+ './nuxt/plugins.50.simpleapp-client.ts.eta': `${frontendfolder}/plugins/50.simpleapp-client.ts`
292
+ };
293
+ const eta = new Eta({ views: constants.templatedir });
294
+ const sources = Object.getOwnPropertyNames(writefiles);
295
+ for (let i = 0; i < sources.length; i++) {
296
+ const templatename = sources[i];
297
+ const targetfile = writefiles[templatename];
298
+ log.info("write:", targetfile);
299
+ (0, fs_1.writeFileSync)(targetfile, eta.render(templatename, modules));
300
+ }
301
+ const foreignkeyfile = `${backendfolder}/src/dicts/foreignkeys.json`;
302
+ (0, fs_1.writeFileSync)(foreignkeyfile, JSON.stringify(storage_1.foreignkeys));
303
+ log.info("write to foreignkey file ", foreignkeyfile);
304
+ };
305
+ //# sourceMappingURL=generate-allow-changebackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-allow-changebackend.js","sourceRoot":"","sources":["../src/generate-allow-changebackend.ts"],"names":[],"mappings":"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"}
package/dist/index2.js ADDED
@@ -0,0 +1,118 @@
1
+ #! /usr/bin/env node
2
+ "use strict";
3
+ var _a, _b, _c, _d;
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const console_1 = require("console");
6
+ const program = require("commander"); // add this line
7
+ const Fieldtypes = require('./type');
8
+ const generator = require('./generate');
9
+ const fs = require('fs');
10
+ const createproject = require('./createproject');
11
+ const { exec } = require("child_process");
12
+ const capitalizeFirstLetter = require('./libs');
13
+ const { Logger, ILogObj } = require("tslog");
14
+ const log = new Logger();
15
+ const figlet = require("figlet");
16
+ // const program = new Command();
17
+ const pj = require('../package.json');
18
+ let version = pj.version;
19
+ program
20
+ .version(version)
21
+ .description("An simpleapp CLI tool for generate frontend (vuejs) and backend(nestjs) codes")
22
+ .option("-c, --config-file <value>", 'configuration file content such as:{"definationsFolder":"./definations", "backendFolder":"./nestproject/src/docs", "frontendFolder":"./nuxt/server"}')
23
+ // .option("-s, --definations-folder <value>", "load defination files from which folder")
24
+ // .option("-b, --backend-folder <value>", "Create backend code at which folder")
25
+ // .option("-f, --frontend-folder <value>", "Create frontend code at which folder")
26
+ // .option("-i, --openapi3-yaml <value>", 'openapi3.yaml generated by backend server')
27
+ .parse(process.argv);
28
+ const options = program.opts();
29
+ console.log(figlet.textSync(`SimpleApp Generator ${version}`));
30
+ // console.log(options)
31
+ let path = '';
32
+ if (!options.configFile) {
33
+ log.error("Config file parameter is required. Example: simpleapp-generator -c ./config.json");
34
+ throw "Undefine configuration file";
35
+ }
36
+ else if (options.configFile && options.configFile[0] == '/') {
37
+ path = options.configFile;
38
+ }
39
+ else if (options.configFile) {
40
+ path = process.cwd() + '/' + options.configFile;
41
+ }
42
+ else {
43
+ log.error("undefine configuration file, use command simpleapp-generator -c <configfilename.json>");
44
+ throw console_1.error;
45
+ }
46
+ const configs = require(path);
47
+ console.log("configurations: ", configs);
48
+ const definationsFolder = (_a = configs.definationsFolder) !== null && _a !== void 0 ? _a : options.definationsFolder;
49
+ const backendFolder = (_b = configs.backendFolder) !== null && _b !== void 0 ? _b : options.backendFolder;
50
+ const frontendFolder = (_c = configs.frontendFolder) !== null && _c !== void 0 ? _c : options.frontendFolder;
51
+ const openapi3Yaml = (_d = configs.openapi3Yaml) !== null && _d !== void 0 ? _d : options.openapi3Yaml;
52
+ const runGenNext = async (callback) => {
53
+ let isnestready = false;
54
+ if (!fs.existsSync(backendFolder)) {
55
+ console.log("Nest does not exists, begin install nodejs environment tools: [pnpm, @nestjs/cli, @openapitools/openapi-generator-cli, nuxi]");
56
+ isnestready = await exec("npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi", async (a, b, c) => {
57
+ console.log("result of environment tools:", a, b, c);
58
+ console.log(`Install new nest backend: 'nest new -p pnpm ${backendFolder}'`);
59
+ return await exec(`nest new -p pnpm ${backendFolder}`, (a, b, c) => {
60
+ console.log("new nest result", a, b, c);
61
+ return true;
62
+ });
63
+ });
64
+ }
65
+ else {
66
+ isnestready = true;
67
+ }
68
+ if (isnestready) {
69
+ if (!fs.existsSync(`${backendFolder}/.env`)) {
70
+ log.info(`initial nest configuratoin for simpleapp generator`);
71
+ await createNest(backendFolder, callback);
72
+ }
73
+ else {
74
+ log.warn(`.env file exists, skip nest initialization`);
75
+ callback();
76
+ }
77
+ }
78
+ else {
79
+ log.error('nest not ready, which shouldnot continue');
80
+ throw console_1.error;
81
+ }
82
+ };
83
+ const runGenNuxt = async (callback) => {
84
+ if (!fs.existsSync(frontendFolder)) {
85
+ log.error(`${frontendFolder} does not exists, please run "npx nuxi@latest init ${frontendFolder}"`);
86
+ }
87
+ else if (!fs.existsSync(`${frontendFolder}/.env`)) {
88
+ log.info(`initial nuxt configuratoin for simpleapp generator`);
89
+ createNuxt(frontendFolder, callback);
90
+ }
91
+ else {
92
+ log.warn(`.env file exists, skip nuxt initialization`);
93
+ callback();
94
+ }
95
+ };
96
+ const generateCode = async () => {
97
+ await runGenNext(async () => {
98
+ log.info("runGenNext (backen) done");
99
+ await runGenNuxt(async () => {
100
+ log.info("runGenNuxt (frontend) done");
101
+ generator.initialize(definationsFolder, backendFolder, frontendFolder);
102
+ exec(`cd ${frontendFolder};npx prettier --write "./pages/**/*.vue" "./simpleapp/**/*" `);
103
+ exec(`cd ${backendFolder};npx run format `);
104
+ if (openapi3Yaml != '') {
105
+ exec(`openapi-generator-cli generate -i ${openapi3Yaml} -o ${frontendFolder}/simpleapp/openapi -g typescript-axios --skip-validate-spec`, (error, stdout, stderr) => {
106
+ if (error) {
107
+ log.error(stderr);
108
+ }
109
+ });
110
+ }
111
+ });
112
+ });
113
+ };
114
+ log.info("generate code: ");
115
+ generateCode();
116
+ // pnpm exec prettier ./src/docs --write
117
+ // pnpm exec prettier ./apiclients --write
118
+ //# sourceMappingURL=index2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.js","sourceRoot":"","sources":["../src/index2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ "use strict";
3
+ npm;
4
+ install - g;
5
+ pnpm;
6
+ /cli @openapitools/openapi - generator - cli;
7
+ nuxi;
8
+ nest;
9
+ new - p;
10
+ pnpm;
11
+ $backendFolder;
12
+ npx;
13
+ nuxi;
14
+ init;
15
+ $;
16
+ {
17
+ frontendFolder;
18
+ }
19
+ ";
20
+ //# sourceMappingURL=installdependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installdependency.js","sourceRoot":"","sources":["../src/installdependency.ts"],"names":[],"mappings":";;AACA,GAAG,CAAA;AAAC,OAAO,GAAE,CAAC,CAAA;AAAC,IAAI,CAAA;AAAQ,0BAA0B,GAAC,SAAS,GAAC,GAAG,CAAA;AAAC,IAAI,CAAA;AACxE,IAAI,CAAA;AAAC,IAAI,AAAD,GAAE,CAAC,CAAA;AAAC,IAAI,CAAA;AAAC,cAAc,CAAA;AAC/B,GAAG,CAAA;AAAC,IAAI,CAAA;AAAQ,IAAI,CAAA;AAAC,CAAC,CAAA;AAAA;IAAC,cAAc,CAAA;CAAC;AAAA,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=installnest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installnest.js","sourceRoot":"","sources":["../src/installnest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=installnuxt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installnuxt.js","sourceRoot":"","sources":["../src/installnuxt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=groupsbuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupsbuilder.js","sourceRoot":"","sources":["../../src/processors/groupsbuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.baseschema = void 0;
4
+ const type_1 = require("../type");
5
+ exports.baseschema = {
6
+ 'type': 'object',
7
+ 'x-simpleapp-config': {
8
+ isolationType: type_1.IsolationType.org,
9
+ schemaType: type_1.SupportedSchemaType.baseschema,
10
+ documentType: '',
11
+ documentName: ''
12
+ },
13
+ properties: {
14
+ _id: { type: 'string', description: "system field" },
15
+ tenantId: { type: 'integer', default: 1, description: "system field" },
16
+ orgId: { type: 'integer', default: 1, description: "system field" },
17
+ branchId: { type: 'integer', default: 1, description: "system field" },
18
+ created: { type: 'string', description: "system field" },
19
+ updated: { type: 'string', description: "system field" },
20
+ createdby: { type: 'string', description: "system field" },
21
+ updatedby: { type: 'string', description: "system field" },
22
+ },
23
+ definitions: {}
24
+ };
25
+ //# sourceMappingURL=baseschema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseschema.js","sourceRoot":"","sources":["../../src/schematype/baseschema.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,UAAU,GAAc;IACjC,MAAM,EAAC,QAAQ;IACf,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,UAAU,EAAE,0BAAmB,CAAC,UAAU;QAC1C,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9C,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;KACvD;IACD,WAAW,EAAC,EAAE;CACf,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/schematype/default.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transaction = exports.baseschema = exports.primarymasterdata = exports.simplemasterdata = void 0;
4
+ var simplemasterdata_1 = require("./simplemasterdata");
5
+ Object.defineProperty(exports, "simplemasterdata", { enumerable: true, get: function () { return simplemasterdata_1.simplemasterdata; } });
6
+ var primarymasterdata_1 = require("./primarymasterdata");
7
+ Object.defineProperty(exports, "primarymasterdata", { enumerable: true, get: function () { return primarymasterdata_1.primarymasterdata; } });
8
+ var baseschema_1 = require("./baseschema");
9
+ Object.defineProperty(exports, "baseschema", { enumerable: true, get: function () { return baseschema_1.baseschema; } });
10
+ var transaction_1 = require("./transaction");
11
+ Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return transaction_1.transaction; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schematype/index.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAA3C,oHAAA,gBAAgB,OAAA;AACxB,yDAAqD;AAA7C,sHAAA,iBAAiB,OAAA;AACzB,2CAAuC;AAA/B,wGAAA,UAAU,OAAA;AAClB,6CAAyC;AAAjC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.primarymasterdata = void 0;
4
+ const type_1 = require("../type");
5
+ exports.primarymasterdata = {
6
+ type: "object",
7
+ "x-simpleapp-config": {
8
+ isolationType: type_1.IsolationType.org,
9
+ pageType: "crud",
10
+ generateDocumentNumber: true,
11
+ schemaType: type_1.SupportedSchemaType.primarymasterdata,
12
+ documentType: '',
13
+ documentName: '',
14
+ },
15
+ properties: {
16
+ _id: { type: 'string', description: "system field" },
17
+ tenantId: { type: 'integer', default: 1, description: "system field" },
18
+ orgId: { type: 'integer', default: 1, description: "system field" },
19
+ branchId: { type: 'integer', default: 1, description: "system field" },
20
+ created: { type: 'string', description: "system field" },
21
+ updated: { type: 'string', description: "system field" },
22
+ createdby: { type: 'string', description: "system field" },
23
+ updatedby: { type: 'string', description: "system field" },
24
+ docNoFormat: {
25
+ type: "object",
26
+ "x-foreignkey": "docnoformat",
27
+ properties: { _id: { "type": "string" }, label: { "type": "string" } },
28
+ description: "system field"
29
+ },
30
+ },
31
+ definitions: {
32
+ foreignkey: {
33
+ type: "object",
34
+ properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
35
+ }
36
+ },
37
+ };
38
+ //# sourceMappingURL=primarymasterdata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primarymasterdata.js","sourceRoot":"","sources":["../../src/schematype/primarymasterdata.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,iBAAiB,GAAc;IACxC,IAAI,EAAC,QAAQ;IACb,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,QAAQ,EAAC,MAAM;QACf,sBAAsB,EAAC,IAAI;QAC3B,UAAU,EAAE,0BAAmB,CAAC,iBAAiB;QACjD,YAAY,EAAC,EAAE;QACf,YAAY,EAAC,EAAE;KAChB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9C,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,cAAc,EAAC,aAAa;YAC5B,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;YAC/D,WAAW,EAAC,cAAc;SAC3B;KACH;IACD,WAAW,EAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAC,QAAQ;YACb,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;SACzF;KACF;CACF,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simpleschema = void 0;
4
+ exports.simpleschema = {
5
+ 'type': 'object',
6
+ 'x-simpleapp-config': {
7
+ isolationType: 'org',
8
+ schemaType: 'simple',
9
+ documentType: '',
10
+ documentName: '',
11
+ foreignKeys: {}
12
+ },
13
+ "properties": {
14
+ _id: { type: 'string' },
15
+ tenantId: { type: 'integer', default: 1 },
16
+ orgId: { type: 'integer', default: 1 },
17
+ branchId: { type: 'integer', default: 1 },
18
+ created: { type: 'string' },
19
+ updated: { type: 'string' },
20
+ createdby: { type: 'string' },
21
+ updatedby: { type: 'string' },
22
+ }
23
+ };
24
+ //# sourceMappingURL=simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/schematype/simple.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IACxB,MAAM,EAAC,QAAQ;IACf,oBAAoB,EAAC;QACnB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAC,EAAE;KACf;IACD,YAAY,EAAC;QACT,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QACnC,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QAChC,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC;QACnC,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;KAC5B;CACF,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simplemasterdata = void 0;
4
+ const type_1 = require("../type");
5
+ exports.simplemasterdata = {
6
+ type: "object",
7
+ "x-simpleapp-config": {
8
+ isolationType: type_1.IsolationType.org,
9
+ pageType: "crud",
10
+ schemaType: type_1.SupportedSchemaType.simplemasterdata,
11
+ documentType: '',
12
+ documentName: '',
13
+ },
14
+ properties: {
15
+ _id: { type: 'string' },
16
+ tenantId: { type: 'integer', default: 1, description: "system field" },
17
+ orgId: { type: 'integer', default: 1, description: "system field" },
18
+ branchId: { type: 'integer', default: 1, description: "system field" },
19
+ created: { type: 'string', description: "system field" },
20
+ updated: { type: 'string', description: "system field" },
21
+ createdby: { type: 'string', description: "system field" },
22
+ updatedby: { type: 'string', description: "system field" },
23
+ },
24
+ definitions: {
25
+ foreignkey: {
26
+ type: "object",
27
+ properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
28
+ }
29
+ },
30
+ };
31
+ //# sourceMappingURL=simplemasterdata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplemasterdata.js","sourceRoot":"","sources":["../../src/schematype/simplemasterdata.ts"],"names":[],"mappings":";;;AAAA,kCAAoE;AACvD,QAAA,gBAAgB,GAAc;IACvC,IAAI,EAAC,QAAQ;IACb,oBAAoB,EAAC;QACnB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,QAAQ,EAAC,MAAM;QACf,UAAU,EAAE,0BAAmB,CAAC,gBAAgB;QAChD,YAAY,EAAC,EAAE;QACf,YAAY,EAAC,EAAE;KAChB;IACD,UAAU,EAAC;QACP,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;KACtD;IACD,WAAW,EAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAC,QAAQ;YACb,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;SACzF;KACF;CACF,CAAA"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transaction = void 0;
4
+ const type_1 = require("../type");
5
+ exports.transaction = {
6
+ type: "object",
7
+ "x-simpleapp-config": {
8
+ isolationType: type_1.IsolationType.org,
9
+ requiredRoles: [],
10
+ documentType: '',
11
+ documentName: '',
12
+ pageType: "crud",
13
+ uniqueKey: "documentNo",
14
+ documentTitle: "documentTitle",
15
+ generateDocumentNumber: true,
16
+ documentDate: "documentDate",
17
+ allStatus: [
18
+ { "status": "D", statusName: "Draft", "readOnly": true, "actions": ["confirm", "void"] },
19
+ { "status": "CO", statusName: "Confirmed", "readOnly": true, "actions": ["revert", "void"] },
20
+ { "status": "V", statusName: "Void", "readOnly": true, "actions": ["revert"] },
21
+ ],
22
+ additionalApis: [{
23
+ action: "confirm",
24
+ entrypoint: ":id/confirm",
25
+ requiredrole: [],
26
+ method: type_1.RESTMethods.post,
27
+ execute: "setDocumentStatus",
28
+ description: "confirm document and change status to CO"
29
+ }, {
30
+ action: "void",
31
+ entrypoint: ":id/void",
32
+ querypara: ["reason"],
33
+ requiredrole: [],
34
+ method: type_1.RESTMethods.post,
35
+ execute: "setDocumentStatus",
36
+ description: "confirm document and change status to V"
37
+ }, {
38
+ action: "revert",
39
+ entrypoint: ":id/revert",
40
+ requiredrole: [],
41
+ method: type_1.RESTMethods.post,
42
+ execute: "setDocumentStatus",
43
+ description: "revert document and change status to D"
44
+ }],
45
+ // simple => pure model and service(no page,api),
46
+ // default => force masterdata property,
47
+ // transaction => force masterdata property
48
+ schemaType: type_1.SupportedSchemaType.transaction,
49
+ },
50
+ properties: {
51
+ _id: { type: 'string', description: "system field" },
52
+ tenantId: { type: 'integer', default: 1, description: "system field" },
53
+ orgId: { type: 'integer', default: 1, description: "system field" },
54
+ branchId: { type: 'integer', default: 1, description: "system field" },
55
+ created: { type: 'string', description: "system field" },
56
+ updated: { type: 'string', description: "system field" },
57
+ createdby: { type: 'string', description: "system field" },
58
+ updatedby: { type: 'string', description: "system field" },
59
+ docNoFormat: {
60
+ type: "object",
61
+ "x-foreignkey": "docnoformat",
62
+ properties: { _id: { "type": "string" }, label: { "type": "string" } },
63
+ description: "system field"
64
+ },
65
+ docStatus: { type: "string", description: "system field" }
66
+ },
67
+ definitions: {
68
+ foreignkey: {
69
+ type: "object",
70
+ properties: { _id: { "type": "string" }, label: { "type": "string" }, code: { "type": "string" } }
71
+ }
72
+ },
73
+ };
74
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/schematype/transaction.ts"],"names":[],"mappings":";;;AAAA,kCAAgF;AACnE,QAAA,WAAW,GAAc;IAClC,IAAI,EAAC,QAAQ;IACb,oBAAoB,EAAC;QACnB,aAAa,EAAC,oBAAa,CAAC,GAAG;QAC/B,aAAa,EAAC,EAAE;QAChB,YAAY,EAAC,EAAE;QACf,YAAY,EAAC,EAAE;QACf,QAAQ,EAAC,MAAM;QACf,SAAS,EAAC,YAAY;QACtB,aAAa,EAAC,eAAe;QAC7B,sBAAsB,EAAC,IAAI;QAC3B,YAAY,EAAC,cAAc;QAC3B,SAAS,EAAC;YACR,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,SAAS,EAAC,CAAC,SAAS,EAAC,MAAM,CAAC,EAAC;YAC9E,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,IAAI,EAAC,SAAS,EAAC,CAAC,QAAQ,EAAC,MAAM,CAAC,EAAC;YAClF,EAAC,QAAQ,EAAC,GAAG,EAAC,UAAU,EAAC,MAAM,EAAC,UAAU,EAAC,IAAI,EAAC,SAAS,EAAC,CAAC,QAAQ,CAAC,EAAC;SACtE;QACD,cAAc,EAAC,CAAC;gBACd,MAAM,EAAC,SAAS;gBAChB,UAAU,EAAC,aAAa;gBACxB,YAAY,EAAC,EAAE;gBACf,MAAM,EAAC,kBAAW,CAAC,IAAI;gBACvB,OAAO,EAAC,mBAAmB;gBAC3B,WAAW,EAAC,0CAA0C;aACvD,EAAC;gBACA,MAAM,EAAC,MAAM;gBACb,UAAU,EAAC,UAAU;gBACrB,SAAS,EAAC,CAAC,QAAQ,CAAC;gBACpB,YAAY,EAAC,EAAE;gBACf,MAAM,EAAC,kBAAW,CAAC,IAAI;gBACvB,OAAO,EAAC,mBAAmB;gBAC3B,WAAW,EAAC,yCAAyC;aACtD,EAAC;gBACA,MAAM,EAAC,QAAQ;gBACf,UAAU,EAAC,YAAY;gBACvB,YAAY,EAAC,EAAE;gBACf,MAAM,EAAC,kBAAW,CAAC,IAAI;gBACvB,OAAO,EAAC,mBAAmB;gBAC3B,WAAW,EAAC,wCAAwC;aACrD,CAAC;QAEF,iDAAiD;QACjD,0CAA0C;QAC1C,2CAA2C;QAC3C,UAAU,EAAE,0BAAmB,CAAC,WAAW;KAC5C;IACD,UAAU,EAAC;QACT,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9C,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,KAAK,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC3D,QAAQ,EAAC,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,cAAc,EAAC;QAC9D,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QAClD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,cAAc,EAAC,aAAa;YAC5B,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;YAC/D,WAAW,EAAE,cAAc;SAC5B;QACD,SAAS,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAC,WAAW,EAAC,cAAc,EAAC;KACrD;IACD,WAAW,EAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAC,QAAQ;YACb,UAAU,EAAE,EAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;SACzF;KACF;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "2.0.1z-alpha",
3
+ "version": "2.0.2b-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -6,6 +6,7 @@
6
6
  const uglyName = upperFirstCase(it.name ?? '');
7
7
  const schemaName = `SimtrainSchema.${pascalName}Dto`;
8
8
  const schemaAutoCompleteName = `SimtrainSchema.${pascalName}AutoCompleteDto`;
9
+ const partialSchemaName = `SimtrainPartialSchema.Partial${pascalName}Dto`;
9
10
 
10
11
  const serviceVariable = it.resourceName + 'Service';
11
12
 
@@ -49,6 +50,7 @@ import { <%= pascalName %>Service } from './<%= kebabName %>.service';
49
50
  import { ResourceApiListDto } from '../../dto/resource-api.schema';
50
51
  import * as SimtrainSchema from '../../../../openapi/backend-dto/dtos/Api';
51
52
  import { Filter } from 'mongodb';
53
+ import * as SimtrainPartialSchema from 'src/openapi/backend-dto/dtos/PartialType';
52
54
 
53
55
  @ApiTags('<%= titleName %>')
54
56
  @Controller('resources/<%= kebabName %>')
@@ -108,7 +110,7 @@ export class <%= pascalName %>Controller {
108
110
  <% } else if(action === 'patch') { %>
109
111
  @Patch(':id')
110
112
  @ApiOperation({ operationId: 'patch' })
111
- @ApiBody({ type: PartialType(<%= schemaName %>), required: true })
113
+ @ApiBody({ type: <%= partialSchemaName %>, required: true })
112
114
  @ApiResponse({ status: 200, description: 'Success', type: <%= schemaName %> })
113
115
  @ApiResponse({ status: 400, description: 'Bad Request' })
114
116
  @ApiResponse({ status: 404, description: 'Not Found' })
@@ -59,18 +59,23 @@ export class SimpleAppDocumentNoFormatService {
59
59
  const filter = { docNoType: doctype, active: true };
60
60
  if (id) {
61
61
  filter['_id'] = id;
62
+ } else {
63
+ // Only use default formats when no specific format ID is provided
64
+ filter['default'] = true;
62
65
  }
63
66
  //
64
67
  Object.assign(filter, appUser.getBranchFilter());
65
- const result = await this.docformat.find(filter).session(appUser.getDBSession());
68
+ const session = appUser.getDBSession()
69
+ const result = await this.docformat.find(filter)//.session(session);
66
70
  if (result && result.length > 0) {
67
71
  const d: DocumentNoFormat = result[0];
68
72
  const recordId = d._id;
69
73
  const newdocno = SimpleAppDocumentNoFormatService.previewDocNo(d);
70
74
  const newnextnumber = d.nextNumber + 1;
71
75
  const updatedata = { nextNumber: newnextnumber } as DocumentNoFormat;
72
- const updateresult = await this.docformat.findByIdAndUpdate(recordId, updatedata).session(appUser.getDBSession());
73
76
 
77
+ const options = process.env.BlockGenerateDocNumberWithSession ? {} : {session:session}
78
+ const updateresult = await this.docformat.findByIdAndUpdate(recordId, updatedata,options)
74
79
  if (updateresult) {
75
80
  const result: DocNumberFormatResult = {
76
81
  formatId: d._id,
@@ -187,30 +192,33 @@ export class SimpleAppDocumentNoFormatService {
187
192
  return await this.docformat.find<DocumentNoFormat>(filter, null, { session: appUser.getDBSession() });
188
193
  }
189
194
 
190
- async requestMultipleNumbers(appUser: UserContext, doctype: string, quantity:number, id: string = '') {
195
+ async requestMultipleNumbers(appUser: UserContext, doctype: string, quantity: number, id: string = '') {
191
196
  doctype = doctype.toUpperCase();
192
- const documentNumbers: string[] = []
197
+ const documentNumbers: string[] = [];
193
198
  const filter = { docNoType: doctype, active: true };
194
199
  if (id) {
195
200
  filter['_id'] = id;
201
+ } else {
202
+ filter['default'] = true;
196
203
  }
197
204
  //
198
205
  Object.assign(filter, appUser.getBranchFilter());
199
206
  const result = await this.docformat.find(filter).session(appUser.getDBSession());
200
207
  if (result && result.length > 0) {
201
208
  const d: DocumentNoFormat = result[0];
202
- const recordId = d._id;
203
-
204
- for(let i=0;i<quantity;i++){
205
- d.nextNumber++
209
+ const recordId = d._id;
210
+
211
+ for (let i = 0; i < quantity; i++) {
212
+ d.nextNumber++;
206
213
  const newdocno = SimpleAppDocumentNoFormatService.previewDocNo(d);
207
- documentNumbers.push(newdocno)
214
+ documentNumbers.push(newdocno);
215
+ }
216
+ const updatedata = { nextNumber: d.nextNumber + 1 } as DocumentNoFormat;
208
217
 
209
- }
210
- const updatedata = { nextNumber: d.nextNumber+1 } as DocumentNoFormat;
211
- const updateresult = await this.docformat.findByIdAndUpdate(recordId, updatedata).session(appUser.getDBSession());
218
+ const options = process.env.BlockGenerateDocNumberWithSession ? {} : {session:appUser.getDBSession()}
219
+ const updateresult = await this.docformat.findByIdAndUpdate(recordId, updatedata,options)
212
220
 
213
- return documentNumbers
221
+ return documentNumbers;
214
222
  } else {
215
223
  throw new BadRequestException(`No active document number found for ${doctype}. Please update in Settings > Document Numbering Format`);
216
224
  }
@@ -448,6 +448,7 @@ export class UserContext extends UserContextInfo {
448
448
  branchName: '$b.branchName',
449
449
  branchId: '$b.branchId',
450
450
  imageUrl: '$b.imageUrl',
451
+ active: '$b.active'
451
452
  },
452
453
 
453
454
  groups: 1,
@@ -114,7 +114,7 @@ export class SimpleAppInterceptor implements NestInterceptor {
114
114
  await session.commitTransaction(); //.then(()=>session.endSession());
115
115
  }
116
116
  }
117
- // session.endSession()
117
+ await session.endSession()
118
118
  }),
119
119
  );
120
120
  }
@@ -56,7 +56,7 @@ onMounted(async()=>{
56
56
  if(getCurrentXorg()===''){
57
57
  goTo('picktenant')
58
58
  }else if(!currentgroup){
59
- goTo('pickgroup')
59
+ navigateTo('/pickgroup')
60
60
  }
61
61
  setGraphqlServer()
62
62
  }else{