@simitgroup/simpleapp-generator 2.0.1-v-alpha → 2.0.1-x-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 (46) hide show
  1. package/ReleaseNote.md +10 -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/nest/src/simple-app/_core/features/cron/cron-system/cron-system.service.ts.eta +8 -8
  44. package/templates/nest/src/simple-app/_core/features/queue/queue-option.ts.eta +16 -0
  45. package/templates/nest/src/simple-app/_core/framework/base/simple-app.service.ts.eta +15 -18
  46. package/templates/nest/src/simple-app/_core/framework/schemas/simple-app.schema.ts.eta +1 -0
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "2.0.1v-alpha",
3
+ "version": "2.0.1x-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -15,25 +15,25 @@ export class CronSystemService extends SimpleAppCronBaseClass {
15
15
  super(robotUserService);
16
16
  }
17
17
 
18
- @Cron('0 1 * * *')
18
+ //@Cron('0 1 * * *')
19
19
  async deleteApiLog() {
20
- if (process.env.ON_CRONTAB == 'true') {
21
- this.logger.debug('run CronSystemService.deleteApiLog 0 1 * * *')
20
+ //if (process.env.ON_CRONTAB == 'true') {
21
+ this.logger.debug('run CronSystemService.deleteApiLog')
22
22
  const today = new Date();
23
23
  const newDate = new Date(today.getTime());
24
24
  const cutoffdate = new Date(newDate.setDate(newDate.getDate() - 90)).toISOString();
25
25
  await this.apiEventModel.deleteMany({ created: { $lte: cutoffdate } });
26
- }
26
+ //}
27
27
  }
28
28
 
29
- @Cron('30 0 * * *')
29
+ //@Cron('30 0 * * *')
30
30
  async deleteQueueJob() {
31
- if (process.env.ON_CRONTAB == 'true') {
32
- this.logger.debug('run deleteQueueJob.deleteApiLog 30 0 * * *')
31
+ //if (process.env.ON_CRONTAB == 'true') {
32
+ this.logger.debug('run deleteQueueJob.deleteApiLog')
33
33
  const today = new Date();
34
34
  const newDate = new Date(today.getTime());
35
35
  const cutoffdate = new Date(newDate.setDate(newDate.getDate() - 90)).toISOString();
36
36
  await this.queueJobModel.deleteMany({ created: { $lte: cutoffdate } });
37
- }
37
+ //}
38
38
  }
39
39
  }
@@ -0,0 +1,16 @@
1
+ import { DefaultJobOptions } from 'bullmq';
2
+ export const getDefaultQueueOption = ():DefaultJobOptions => ({
3
+ attempts: 1,
4
+ backoff: {
5
+ type: 'exponential',
6
+ delay: 3000,
7
+ },
8
+ delay: 1000,
9
+ removeOnComplete: {
10
+ age: 90 * 24 * 60 * 60, // 7,776,000 seconds (90 days)
11
+ count: 3000,
12
+ },
13
+ removeOnFail: {
14
+ count: 1000,
15
+ },
16
+ })
@@ -286,27 +286,24 @@ export class SimpleAppService<T extends SchemaFields> {
286
286
 
287
287
  async fullTextSearch(appuser: UserContext, body: TextSearchBody) {
288
288
  try {
289
+ //{filters:string[],fields:string[]}
289
290
  const isolationFilter = { ...this.getIsolationFilter(appuser) };
290
291
  this.polishIsolationFilter(isolationFilter);
291
292
  const keyword = body.keyword;
292
-
293
+ // console.log("bodybody",body)
293
294
  // Prepare regex filter
294
295
  const orConditions: any[] = [];
295
- if (body.fields && body.fields.length > 0) {
296
- body.fields.forEach((field: string) => {
297
- if (field != 'defaultPrice' && field != 'amount' && field != 'active' && field != 'updated') {
296
+ const regex = new RegExp(keyword, 'i')
297
+
298
+ if (body.filters && body.filters.length > 0) {
299
+ body.filters.forEach((field: string) => {
298
300
  orConditions.push({
299
- [field]: { $regex: keyword, $options: 'i' },
300
- });
301
- } else {
302
- if (!isNaN(Number(keyword)) && (field == 'defaultPrice' || field == 'amount')) {
303
- orConditions.push({
304
- [field]: { $gte: keyword },
305
- });
306
- }
307
- }
301
+ [field]: { $regex: regex },
302
+ });
308
303
  });
309
304
  }
305
+
306
+
310
307
  const filter = {
311
308
  $or: orConditions,
312
309
  };
@@ -318,7 +315,7 @@ export class SimpleAppService<T extends SchemaFields> {
318
315
 
319
316
  const fields = body.fields || {};
320
317
  const sorts = body.sorts || {};
321
-
318
+ // console.log("newfilters",JSON.stringify(newfilters),fields)
322
319
  // Ensure `this.doc` is a Mongoose model or similar
323
320
  const results = await this.doc.find(newfilters, fields).sort(sorts).exec();
324
321
 
@@ -499,7 +496,7 @@ export class SimpleAppService<T extends SchemaFields> {
499
496
  errormsg.push(this.errorlist[i].message);
500
497
  }
501
498
 
502
- throw new BadRequestException('Before validation hook failed', errormsg as HttpExceptionOptions);
499
+ throw new BadRequestException(errormsg as HttpExceptionOptions, 'Before validation hook failed');
503
500
  }
504
501
 
505
502
  let validate;
@@ -513,7 +510,7 @@ export class SimpleAppService<T extends SchemaFields> {
513
510
  if (!valid) {
514
511
  this.logger.error(JSON.stringify(data));
515
512
  this.logger.error(JSON.stringify(validate.errors), 'validate errors:');
516
- throw new BadRequestException('Data validation failed', validate.errors as HttpExceptionOptions);
513
+ throw new BadRequestException(validate.errors as HttpExceptionOptions, 'Data validation failed');
517
514
  }
518
515
  }
519
516
 
@@ -1089,7 +1086,7 @@ export class SimpleAppService<T extends SchemaFields> {
1089
1086
 
1090
1087
  if (!unionresult) {
1091
1088
  this.logger.error('foreign key control failed ', 'identifyForeignKeys');
1092
- throw new InternalServerErrorException('Foreignkey check execution error', pipelines as HttpExceptionOptions);
1089
+ throw new InternalServerErrorException(pipelines as HttpExceptionOptions, 'Foreignkey check execution error');
1093
1090
  } else {
1094
1091
  const searchresult: any = {};
1095
1092
  unionresult.forEach((item) => {
@@ -1099,7 +1096,7 @@ export class SimpleAppService<T extends SchemaFields> {
1099
1096
  searchresult[item.collection] = [item._id];
1100
1097
  }
1101
1098
  });
1102
- this.logger.debug(unionresult, this.documentType + ' search Result');
1099
+ this.logger.debug(this.documentType + ' search Result', unionresult);
1103
1100
 
1104
1101
  //search is it all foreign key exists in db
1105
1102
  for (let i = 0; i < collections.length; i++) {
@@ -143,6 +143,7 @@ export class DynamicParam {
143
143
  export class TextSearchBody {
144
144
  keyword: string;
145
145
  fields?: string[];
146
+ filters?: string[];
146
147
  sorts?: string[][];
147
148
  lookup?: Record<string, string>;
148
149
  }