@simitgroup/simpleapp-generator 2.0.1-u-alpha → 2.0.1-w-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.
- package/ReleaseNote.md +9 -0
- package/dist/buildinschemas/autoincreament.js +1 -1
- package/dist/buildinschemas/docnoformat.js +1 -1
- package/dist/buildinschemas/docnoformat.js.map +1 -1
- package/dist/buildinschemas/documentevent.js +1 -1
- package/dist/buildinschemas/message.d.ts +3 -0
- package/dist/buildinschemas/message.d.ts.map +1 -0
- package/dist/buildinschemas/message.js +34 -0
- package/dist/buildinschemas/message.js.map +1 -0
- package/dist/buildinschemas/webhookhistory.d.ts +3 -0
- package/dist/buildinschemas/webhookhistory.d.ts.map +1 -0
- package/dist/buildinschemas/webhookhistory.js +44 -0
- package/dist/buildinschemas/webhookhistory.js.map +1 -0
- package/dist/createproject.js +138 -0
- package/dist/createproject.js.map +1 -0
- package/dist/generate-allow-changebackend.js +305 -0
- package/dist/generate-allow-changebackend.js.map +1 -0
- package/dist/index2.js +118 -0
- package/dist/index2.js.map +1 -0
- package/dist/installdependency.js +20 -0
- package/dist/installdependency.js.map +1 -0
- package/dist/installnest.js +2 -0
- package/dist/installnest.js.map +1 -0
- package/dist/installnuxt.js +2 -0
- package/dist/installnuxt.js.map +1 -0
- package/dist/processors/groupsbuilder.js +2 -0
- package/dist/processors/groupsbuilder.js.map +1 -0
- package/dist/schematype/baseschema.js +25 -0
- package/dist/schematype/baseschema.js.map +1 -0
- package/dist/schematype/default.js +2 -0
- package/dist/schematype/default.js.map +1 -0
- package/dist/schematype/index.js +12 -0
- package/dist/schematype/index.js.map +1 -0
- package/dist/schematype/primarymasterdata.js +38 -0
- package/dist/schematype/primarymasterdata.js.map +1 -0
- package/dist/schematype/simple.js +24 -0
- package/dist/schematype/simple.js.map +1 -0
- package/dist/schematype/simplemasterdata.js +31 -0
- package/dist/schematype/simplemasterdata.js.map +1 -0
- package/dist/schematype/transaction.js +74 -0
- package/dist/schematype/transaction.js.map +1 -0
- package/package.json +1 -1
- package/templates/nest/src/simple-app/_core/features/cron/base/cron.base.ts.eta +3 -0
- package/templates/nest/src/simple-app/_core/features/cron/cron-system/cron-system.service.ts.eta +12 -10
- package/templates/nest/src/simple-app/_core/features/queue/queue-option.ts.eta +16 -0
- package/templates/nest/src/simple-app/_core/framework/base/simple-app.service.ts.eta +6 -4
- package/templates/nest/src/simple-app/_core/framework/simple-app.interceptor.ts.eta +7 -12
- package/templates/nuxt/components/renderer/RendererRemoteUrl.vue.eta +76 -0
- package/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta +19 -0
- package/templates/nuxt/components/simpleApp/SimpleAppRemoteSelect.vue.eta +110 -0
- package/templates/nuxt/types/simpleappinput.ts.eta +49 -50
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 @@
|
|
|
1
|
+
{"version":3,"file":"installnest.js","sourceRoot":"","sources":["../src/installnest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installnuxt.js","sourceRoot":"","sources":["../src/installnuxt.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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,10 +1,13 @@
|
|
|
1
|
+
import { BadRequestException, Injectable, Logger, NestMiddleware, ServiceUnavailableException } from '@nestjs/common';
|
|
1
2
|
import { UserContext } from '../../user-context/user.context';
|
|
2
3
|
import { SimpleAppRobotUserService } from '../../user-context/robot-user.service';
|
|
3
4
|
import { BaseUserContext } from '../../user-context/user-context.type';
|
|
4
5
|
export abstract class SimpleAppCronBaseClass {
|
|
6
|
+
protected logger:Logger;
|
|
5
7
|
private robotUser: SimpleAppRobotUserService;
|
|
6
8
|
|
|
7
9
|
constructor(robotUser: SimpleAppRobotUserService) {
|
|
10
|
+
this.logger = new Logger(this.constructor.name);
|
|
8
11
|
this.robotUser = robotUser;
|
|
9
12
|
}
|
|
10
13
|
async getAppUser(user: BaseUserContext) {
|
package/templates/nest/src/simple-app/_core/features/cron/cron-system/cron-system.service.ts.eta
CHANGED
|
@@ -3,21 +3,22 @@ import { InjectModel } from '@nestjs/mongoose';
|
|
|
3
3
|
import { Cron } from '@nestjs/schedule';
|
|
4
4
|
import { Model } from 'mongoose';
|
|
5
5
|
import { UserContext } from 'src/simple-app/_core/features/user-context/user.context';
|
|
6
|
-
import {SimpleAppCronBaseClass} from '../base/cron.base'
|
|
7
|
-
import {ApiEvent,QueueJob} from './schemas'
|
|
8
|
-
import { SimpleAppRobotUserService } from
|
|
9
|
-
export class CronSystemService extends SimpleAppCronBaseClass{
|
|
6
|
+
import { SimpleAppCronBaseClass } from '../base/cron.base';
|
|
7
|
+
import { ApiEvent, QueueJob } from './schemas';
|
|
8
|
+
import { SimpleAppRobotUserService } from '../../user-context/robot-user.service';
|
|
9
|
+
export class CronSystemService extends SimpleAppCronBaseClass {
|
|
10
10
|
constructor(
|
|
11
11
|
@InjectModel('ApiEvent') private apiEventModel: Model<ApiEvent>,
|
|
12
|
-
@InjectModel('QueueJob') private queueJobModel: Model<QueueJob>,
|
|
13
|
-
robotUserService:SimpleAppRobotUserService
|
|
12
|
+
@InjectModel('QueueJob') private queueJobModel: Model<QueueJob>,
|
|
13
|
+
robotUserService: SimpleAppRobotUserService,
|
|
14
14
|
) {
|
|
15
|
-
super(robotUserService)
|
|
15
|
+
super(robotUserService);
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
@Cron('0 1 * * *')
|
|
19
19
|
async deleteApiLog() {
|
|
20
|
-
if (process.env.ON_CRONTAB == 'true') {
|
|
20
|
+
if (process.env.ON_CRONTAB == 'true') {
|
|
21
|
+
this.logger.debug('run CronSystemService.deleteApiLog 0 1 * * *')
|
|
21
22
|
const today = new Date();
|
|
22
23
|
const newDate = new Date(today.getTime());
|
|
23
24
|
const cutoffdate = new Date(newDate.setDate(newDate.getDate() - 90)).toISOString();
|
|
@@ -28,10 +29,11 @@ export class CronSystemService extends SimpleAppCronBaseClass{
|
|
|
28
29
|
@Cron('30 0 * * *')
|
|
29
30
|
async deleteQueueJob() {
|
|
30
31
|
if (process.env.ON_CRONTAB == 'true') {
|
|
32
|
+
this.logger.debug('run deleteQueueJob.deleteApiLog 30 0 * * *')
|
|
31
33
|
const today = new Date();
|
|
32
34
|
const newDate = new Date(today.getTime());
|
|
33
35
|
const cutoffdate = new Date(newDate.setDate(newDate.getDate() - 90)).toISOString();
|
|
34
36
|
await this.queueJobModel.deleteMany({ created: { $lte: cutoffdate } });
|
|
35
37
|
}
|
|
36
|
-
}
|
|
38
|
+
}
|
|
37
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
|
+
})
|
|
@@ -485,6 +485,8 @@ export class SimpleAppService<T extends SchemaFields> {
|
|
|
485
485
|
|
|
486
486
|
ajv.addKeyword({ keyword: 'x-foreignkey', schemaType: 'string' });
|
|
487
487
|
ajv.addKeyword({ keyword: 'x-simpleapp-config', schemaType: 'object' });
|
|
488
|
+
ajv.addKeyword({ keyword: 'x-remote', schemaType: 'object' });
|
|
489
|
+
ajv.addKeyword({ keyword: 'x-readonly', schemaType: 'boolean' });
|
|
488
490
|
this.logger.debug('run hook during validation');
|
|
489
491
|
let issuccess = true;
|
|
490
492
|
// if (this.hooks.beforeValidation) {
|
|
@@ -497,7 +499,7 @@ export class SimpleAppService<T extends SchemaFields> {
|
|
|
497
499
|
errormsg.push(this.errorlist[i].message);
|
|
498
500
|
}
|
|
499
501
|
|
|
500
|
-
throw new BadRequestException('Before validation hook failed'
|
|
502
|
+
throw new BadRequestException(errormsg as HttpExceptionOptions,'Before validation hook failed');
|
|
501
503
|
}
|
|
502
504
|
|
|
503
505
|
let validate;
|
|
@@ -511,7 +513,7 @@ export class SimpleAppService<T extends SchemaFields> {
|
|
|
511
513
|
if (!valid) {
|
|
512
514
|
this.logger.error(JSON.stringify(data));
|
|
513
515
|
this.logger.error(JSON.stringify(validate.errors), 'validate errors:');
|
|
514
|
-
throw new BadRequestException('Data validation failed'
|
|
516
|
+
throw new BadRequestException(validate.errors as HttpExceptionOptions,'Data validation failed');
|
|
515
517
|
}
|
|
516
518
|
}
|
|
517
519
|
|
|
@@ -1087,7 +1089,7 @@ export class SimpleAppService<T extends SchemaFields> {
|
|
|
1087
1089
|
|
|
1088
1090
|
if (!unionresult) {
|
|
1089
1091
|
this.logger.error('foreign key control failed ', 'identifyForeignKeys');
|
|
1090
|
-
throw new InternalServerErrorException('Foreignkey check execution error'
|
|
1092
|
+
throw new InternalServerErrorException(pipelines as HttpExceptionOptions,'Foreignkey check execution error');
|
|
1091
1093
|
} else {
|
|
1092
1094
|
const searchresult: any = {};
|
|
1093
1095
|
unionresult.forEach((item) => {
|
|
@@ -1097,7 +1099,7 @@ export class SimpleAppService<T extends SchemaFields> {
|
|
|
1097
1099
|
searchresult[item.collection] = [item._id];
|
|
1098
1100
|
}
|
|
1099
1101
|
});
|
|
1100
|
-
this.logger.debug(
|
|
1102
|
+
this.logger.debug( this.documentType + ' search Result',unionresult);
|
|
1101
1103
|
|
|
1102
1104
|
//search is it all foreign key exists in db
|
|
1103
1105
|
for (let i = 0; i < collections.length; i++) {
|
|
@@ -85,17 +85,11 @@ export class SimpleAppInterceptor implements NestInterceptor {
|
|
|
85
85
|
error: err.options,
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
// eventObj.errData = responseBody.error;
|
|
94
|
-
// eventObj.status = 'NG';
|
|
95
|
-
// eventObj.duration =
|
|
96
|
-
// endtime.getTime() - new Date(eventObj.created).getTime();
|
|
97
|
-
// eventObj.save();
|
|
98
|
-
|
|
88
|
+
eventObj.statusCode = err.status;
|
|
89
|
+
eventObj.errMsg = responseBody.message ;
|
|
90
|
+
eventObj.data = req.body;
|
|
91
|
+
eventObj.status = 'NG'
|
|
92
|
+
eventObj.errData = responseBody.error;
|
|
99
93
|
resp.status(err?.status ?? 500);
|
|
100
94
|
return responseBody;
|
|
101
95
|
}),
|
|
@@ -105,7 +99,8 @@ export class SimpleAppInterceptor implements NestInterceptor {
|
|
|
105
99
|
eventObj.isNew = false;
|
|
106
100
|
eventObj.statusCode = resp['statusCode'];
|
|
107
101
|
eventObj.updated = endtime.toISOString();
|
|
108
|
-
eventObj.status = 'OK';
|
|
102
|
+
eventObj.status = eventObj.status == 'D' ? 'OK' : eventObj.status;
|
|
103
|
+
|
|
109
104
|
eventObj.duration = endtime.getTime() - starttime.getTime();
|
|
110
105
|
await eventObj.save();
|
|
111
106
|
|