pwi-plata-type 0.3.17 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/__BUILD__/bin/extras/create-api-cli.js +96 -0
  2. package/__BUILD__/bin/extras/create-api-cli.js.map +1 -0
  3. package/__BUILD__/bin/extras/create-lib-cli.js +62 -0
  4. package/__BUILD__/bin/extras/create-lib-cli.js.map +1 -0
  5. package/__BUILD__/bin/extras/plata-create-tools.js +94 -0
  6. package/__BUILD__/bin/extras/plata-create-tools.js.map +1 -0
  7. package/__BUILD__/bin/plata-api.js +138 -0
  8. package/__BUILD__/bin/plata-api.js.map +1 -0
  9. package/__BUILD__/bin/plata-create.js +24 -0
  10. package/__BUILD__/bin/plata-create.js.map +1 -0
  11. package/__BUILD__/bin/plata-runtime.js +156 -0
  12. package/__BUILD__/bin/plata-runtime.js.map +1 -0
  13. package/__BUILD__/bin/plata-swagger.js +82 -0
  14. package/__BUILD__/bin/plata-swagger.js.map +1 -0
  15. package/__BUILD__/bin/runtime/_setupRuntime.js +43 -0
  16. package/__BUILD__/bin/runtime/_setupRuntime.js.map +1 -0
  17. package/__BUILD__/bin/runtime/class.js +18 -0
  18. package/__BUILD__/bin/runtime/class.js.map +1 -0
  19. package/__BUILD__/bin/runtime/dirs.js +16 -0
  20. package/__BUILD__/bin/runtime/dirs.js.map +1 -0
  21. package/__BUILD__/bin/runtime/promises.js +15 -0
  22. package/__BUILD__/bin/runtime/promises.js.map +1 -0
  23. package/__BUILD__/bin/runtime/require.js +88 -0
  24. package/__BUILD__/bin/runtime/require.js.map +1 -0
  25. package/__BUILD__/index.js +42 -0
  26. package/__BUILD__/index.js.map +1 -0
  27. package/__BUILD__/libs/axios.js +42 -0
  28. package/__BUILD__/libs/axios.js.map +1 -0
  29. package/__BUILD__/libs/cluster.js +160 -0
  30. package/__BUILD__/libs/cluster.js.map +1 -0
  31. package/__BUILD__/libs/fs.js +206 -0
  32. package/__BUILD__/libs/fs.js.map +1 -0
  33. package/__BUILD__/libs/model-validations.js +356 -0
  34. package/__BUILD__/libs/model-validations.js.map +1 -0
  35. package/__BUILD__/libs/model.js +185 -0
  36. package/__BUILD__/libs/model.js.map +1 -0
  37. package/__BUILD__/libs/router.js +127 -0
  38. package/__BUILD__/libs/router.js.map +1 -0
  39. package/__BUILD__/libs/swagger.js +64 -0
  40. package/__BUILD__/libs/swagger.js.map +1 -0
  41. package/__BUILD__/libs/tasks.js +134 -0
  42. package/__BUILD__/libs/tasks.js.map +1 -0
  43. package/__BUILD__/libs/tools.js +231 -0
  44. package/__BUILD__/libs/tools.js.map +1 -0
  45. package/__BUILD__/scripts/post-install/api.js +25 -0
  46. package/__BUILD__/scripts/post-install/api.js.map +1 -0
  47. package/__BUILD__/scripts/post-install/lib.js +25 -0
  48. package/__BUILD__/scripts/post-install/lib.js.map +1 -0
  49. package/__BUILD__/scripts/post-install.js +65 -0
  50. package/__BUILD__/scripts/post-install.js.map +1 -0
  51. package/__BUILD__/scripts/pre-test.js +25 -0
  52. package/__BUILD__/scripts/pre-test.js.map +1 -0
  53. package/package.json +18 -16
  54. package/src/@types/cluster.actions.d.ts +7 -0
  55. package/src/@types/cluster.d.ts +33 -0
  56. package/src/@types/create-cli.d.ts +9 -0
  57. package/src/@types/exported.d.ts +24 -0
  58. package/src/@types/global.d.ts +69 -0
  59. package/src/@types/model.d.ts +69 -0
  60. package/src/@types/router.d.ts +75 -0
  61. package/src/@types/swagger.d.ts +23 -0
  62. package/{bin/extras/plata-create-api.ts → src/bin/extras/create-api-cli.ts} +5 -6
  63. package/{bin/extras/plata-create-lib.ts → src/bin/extras/create-lib-cli.ts} +3 -4
  64. package/{bin → src/bin}/extras/plata-create-tools.ts +4 -4
  65. package/src/bin/plata-api.ts +172 -0
  66. package/src/bin/plata-create.ts +21 -0
  67. package/src/bin/plata-runtime.ts +188 -0
  68. package/src/bin/plata-swagger.ts +100 -0
  69. package/src/bin/runtime/_setupRuntime.ts +49 -0
  70. package/src/bin/runtime/_types.d.ts +4 -0
  71. package/src/bin/runtime/class.ts +21 -0
  72. package/src/bin/runtime/dirs.ts +26 -0
  73. package/src/bin/runtime/promises.ts +15 -0
  74. package/src/bin/runtime/require.ts +104 -0
  75. package/{index.ts → src/index.ts} +2 -4
  76. package/{libs → src/libs}/axios.ts +0 -0
  77. package/src/libs/cluster.ts +189 -0
  78. package/src/libs/fs.ts +382 -0
  79. package/{libs/model.ts → src/libs/model-validations.ts} +28 -262
  80. package/src/libs/model.ts +233 -0
  81. package/src/libs/router.ts +147 -0
  82. package/src/libs/swagger.ts +81 -0
  83. package/{libs → src/libs}/tasks.ts +0 -0
  84. package/{libs → src/libs}/tools.ts +3 -18
  85. package/src/scripts/post-install/api.ts +32 -0
  86. package/src/scripts/post-install/lib.ts +30 -0
  87. package/src/scripts/post-install.ts +65 -0
  88. package/src/scripts/pre-test.ts +34 -0
  89. package/src/tests/assets/config/test.txt +1 -0
  90. package/src/tests/config.test.ts +13 -0
  91. package/src/tests/model.test.ts +115 -0
  92. package/templates/create-cli/cluster.ts +7 -9
  93. package/templates/create-cli/config.ts +2 -8
  94. package/templates/create-cli/lib.ts +7 -17
  95. package/templates/create-cli/model.ts +10 -21
  96. package/templates/create-cli/route.ts +1 -3
  97. package/templates/postinstall/api/configs/env.ts +2 -8
  98. package/templates/postinstall/api/tsconfig.json +20 -37
  99. package/templates/postinstall/lib/postinstall-tools.mjs +1 -1
  100. package/templates/postinstall/lib/postinstall.js +1 -0
  101. package/templates/postinstall/lib/tsconfig.json +21 -38
  102. package/tsconfig.json +25 -37
  103. package/Dockerfile +0 -13
  104. package/bin/extras/plata-build-tool.ts +0 -151
  105. package/bin/plata-build.ts +0 -144
  106. package/bin/plata-create.ts +0 -28
  107. package/bin/plata-reload.ts +0 -13
  108. package/bin/plata-swagger-gen.ts +0 -183
  109. package/bin/plata.ts +0 -122
  110. package/libs/cluster.ts +0 -219
  111. package/libs/env.ts +0 -28
  112. package/libs/routes.ts +0 -275
  113. package/libs/swagger.ts +0 -79
  114. package/postinstall-tools.mjs +0 -115
  115. package/postinstall.mjs +0 -42
  116. package/templates/postinstall/api/_install.mjs +0 -34
  117. package/templates/postinstall/lib/_install.mjs +0 -30
@@ -0,0 +1,185 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ModelTemplate = exports.Internals = void 0;
18
+ var Internals;
19
+ (function (Internals) {
20
+ function filterTemplate(value, template) {
21
+ for (const param in template) {
22
+ const t = template[param];
23
+ if (t.length === undefined) {
24
+ if (value[param] === undefined) {
25
+ value[param] = new Object(null);
26
+ }
27
+ value[param] = filterTemplate(value[param], t);
28
+ continue;
29
+ }
30
+ if (typeof t[0] === 'function') {
31
+ if (value[param] === undefined) {
32
+ value[param] = null;
33
+ }
34
+ continue;
35
+ }
36
+ if (t[0].length !== undefined) {
37
+ if (value[param] === undefined) {
38
+ value[param] = [];
39
+ }
40
+ if (!Array.isArray(value[param])) {
41
+ value[param] = [];
42
+ }
43
+ continue;
44
+ }
45
+ if (value[param] === undefined) {
46
+ value[param] = [];
47
+ continue;
48
+ }
49
+ for (let i = 0; i < value[param].length; i++) {
50
+ value[param][i] = filterTemplate(value[param][i], t[0]);
51
+ }
52
+ }
53
+ return value;
54
+ }
55
+ Internals.filterTemplate = filterTemplate;
56
+ async function validateParameter(value, pipeline, name) {
57
+ for (const validation of pipeline) {
58
+ const result = await validation(name, value);
59
+ if (result.error !== undefined) {
60
+ return result.error;
61
+ }
62
+ if (!result.continua) {
63
+ break;
64
+ }
65
+ }
66
+ return null;
67
+ }
68
+ Internals.validateParameter = validateParameter;
69
+ async function validateTemplate(value, template, name) {
70
+ const promises = [];
71
+ for (const param in template) {
72
+ const t = template[param];
73
+ if (t.length === undefined) {
74
+ promises.push(validateTemplate(value[param], t, `${name ?? ''}${param}.`));
75
+ continue;
76
+ }
77
+ if (typeof t[0] === 'function') {
78
+ promises.push(validateParameter(value[param], t, `${name ?? ''}${param}`));
79
+ continue;
80
+ }
81
+ if (t[0].length !== undefined) {
82
+ for (let i = 0; i < value[param].length; i++) {
83
+ promises.push(validateParameter(value[param][i], t[0], `${name ?? ''}${param}[${i}]`));
84
+ }
85
+ continue;
86
+ }
87
+ for (let i = 0; i < value[param].length; i++) {
88
+ promises.push(validateTemplate(value[param][i], t[0], `${name ?? ''}${param}[${i}].`));
89
+ }
90
+ }
91
+ return Plata.FastPromise(() => Promise.all(promises)).then(result => [].concat(...result).filter(v => v !== null), err => {
92
+ return {
93
+ errorID: 'BPLM0001',
94
+ msg: `unexpected error while validating template (${name})`,
95
+ error: err
96
+ };
97
+ });
98
+ }
99
+ Internals.validateTemplate = validateTemplate;
100
+ })(Internals = exports.Internals || (exports.Internals = {}));
101
+ class ModelTemplate {
102
+ template;
103
+ converters;
104
+ validations;
105
+ filters;
106
+ type;
107
+ constructor(template, converters) {
108
+ this.template = template;
109
+ this.converters = converters;
110
+ this.validations = new Map();
111
+ this.filters = new Map();
112
+ }
113
+ addValidation(nome, callback) {
114
+ this.validations.set(nome, callback);
115
+ }
116
+ addFilter(nome, callback) {
117
+ this.filters.set(nome, callback);
118
+ }
119
+ convert = (value, to) => {
120
+ const c = this.converters[to];
121
+ if (c === undefined)
122
+ return {
123
+ errorID: 'BPLM0002',
124
+ msg: 'Invalid Converter',
125
+ error: to
126
+ };
127
+ try {
128
+ return c(value);
129
+ }
130
+ catch (e) {
131
+ return {
132
+ errorID: 'BPLM0003',
133
+ msg: 'Unexpected converter error',
134
+ error: e
135
+ };
136
+ }
137
+ };
138
+ filter(value) {
139
+ let v = Internals.filterTemplate(value, this.template);
140
+ this.filters.forEach(f => {
141
+ v = f(v);
142
+ });
143
+ return v;
144
+ }
145
+ async validate(value) {
146
+ const v = this.filter(value);
147
+ const errors = await Internals.validateTemplate(v, this.template);
148
+ if (errors.errorID !== undefined) {
149
+ return {
150
+ value: v,
151
+ errors: [errors]
152
+ };
153
+ }
154
+ if (errors.length !== 0) {
155
+ return {
156
+ value: v,
157
+ errors
158
+ };
159
+ }
160
+ const promises = [];
161
+ this.validations.forEach(validation => {
162
+ promises.push(validation(v));
163
+ });
164
+ const result = await Plata.FastPromise(() => Promise.all(promises)).then(r => [].concat(...r).filter(v => v !== null), err => {
165
+ return {
166
+ errorID: 'BPLM0002',
167
+ msg: `unexpected error while validating model`,
168
+ error: err
169
+ };
170
+ });
171
+ if (result.errorID !== undefined) {
172
+ return {
173
+ value: v,
174
+ errors: [result]
175
+ };
176
+ }
177
+ return {
178
+ value: v,
179
+ errors: result.length !== 0 ? result : undefined
180
+ };
181
+ }
182
+ }
183
+ exports.ModelTemplate = ModelTemplate;
184
+ __exportStar(require("./model-validations"), exports);
185
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/libs/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildExpressRouter = exports.loadRoutesFromProject = exports.Internals = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const express_1 = require("express");
9
+ var Internals;
10
+ (function (Internals) {
11
+ function buildRouterObject() {
12
+ const router = {
13
+ routes: [],
14
+ swaggerHide: false
15
+ };
16
+ return new Proxy(router, {
17
+ get: (targetRouter, prop) => {
18
+ if (targetRouter[prop] !== undefined) {
19
+ return targetRouter[prop];
20
+ }
21
+ if (prop === 'then') {
22
+ return targetRouter;
23
+ }
24
+ return (httpPathOrHandler, ...handlers) => {
25
+ let httpPath = undefined;
26
+ if (typeof httpPathOrHandler === 'string') {
27
+ httpPath = httpPathOrHandler;
28
+ }
29
+ else {
30
+ handlers = [httpPathOrHandler, ...handlers];
31
+ }
32
+ targetRouter.routes.push({
33
+ method: prop.toString(),
34
+ handlers,
35
+ path: httpPath
36
+ });
37
+ };
38
+ },
39
+ set: (targetRouter, prop, value) => {
40
+ if (targetRouter[prop] !== undefined) {
41
+ targetRouter[prop] = value;
42
+ }
43
+ return true;
44
+ }
45
+ });
46
+ }
47
+ Internals.buildRouterObject = buildRouterObject;
48
+ function buildRequestHandler(r) {
49
+ return async (req, res, next) => {
50
+ const aReq = req;
51
+ const aRes = res;
52
+ if (aReq.user === undefined) {
53
+ aReq.user = new Object(null);
54
+ }
55
+ if (aReq.extras === undefined) {
56
+ aReq.extras = new Object(null);
57
+ }
58
+ if (aRes.oldJson === undefined) {
59
+ aRes.oldJson = aRes.json;
60
+ }
61
+ aRes.error = error => {
62
+ return aRes.oldJson(error);
63
+ };
64
+ return r(aReq, aRes, next);
65
+ };
66
+ }
67
+ Internals.buildRequestHandler = buildRequestHandler;
68
+ })(Internals = exports.Internals || (exports.Internals = {}));
69
+ async function loadRoutesFromProject() {
70
+ const routes = await require('@@/routes/*.*');
71
+ if (routes.errorID !== undefined) {
72
+ return routes;
73
+ }
74
+ let rs = routes.map(route => {
75
+ const r = {
76
+ ...route,
77
+ exports: route.exports.default,
78
+ httpRoute: node_path_1.default.normalize(route.filePath
79
+ .replace('__BUILD__', '')
80
+ .replace(Plata.ProjectDir, '')
81
+ .replace('routes', '')
82
+ .replace(/(\.ts|\.js)$/, '')
83
+ .replace(/index/, '')
84
+ .replace(/\{(.*?)\}/g, ':$1')
85
+ .replace(/\[(.*?)\]/g, ':$1?')).replace(/\\/g, '/'),
86
+ };
87
+ return r;
88
+ });
89
+ rs = rs.sort((x, y) => {
90
+ if (x.name === 'index') {
91
+ if (y.name === 'index') {
92
+ return +(x.httpRoute.length > y.httpRoute.length);
93
+ }
94
+ return -1;
95
+ }
96
+ return +(x.name > y.name);
97
+ });
98
+ return rs;
99
+ }
100
+ exports.loadRoutesFromProject = loadRoutesFromProject;
101
+ async function buildExpressRouter(requiredRoutes) {
102
+ const router = (0, express_1.Router)();
103
+ router.routes = [];
104
+ router.swaggerHide = false;
105
+ for (const r of requiredRoutes) {
106
+ const v = await r.exports(Internals.buildRouterObject());
107
+ const routes = v.routes;
108
+ const swaggerHide = v.swaggerHide;
109
+ for (let i = 0; i < routes.length; i++) {
110
+ const route = routes[i];
111
+ let httpPath = r.httpRoute;
112
+ if (route.path !== undefined) {
113
+ httpPath = node_path_1.default.normalize(`${httpPath}/${route.path}`).replace(/\\/g, '/');
114
+ }
115
+ router[route.method](httpPath, ...route.handlers.map(Internals.buildRequestHandler));
116
+ router.routes.push({
117
+ path: httpPath,
118
+ method: route.method,
119
+ handlers: [],
120
+ swaggerHide: swaggerHide
121
+ });
122
+ }
123
+ }
124
+ return router;
125
+ }
126
+ exports.buildExpressRouter = buildExpressRouter;
127
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/libs/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.swagger = exports.Internals = void 0;
7
+ const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ var Internals;
10
+ (function (Internals) {
11
+ async function loadSwaggerConfig() {
12
+ const obj = require('@@/swagger/header.json');
13
+ obj.paths = new Object(null);
14
+ const swaggerFolder = node_path_1.default.join(Plata.ProjectDir, '__BUILD__', 'swagger', 'routes').replace(/\\/g, '/');
15
+ {
16
+ const routes = await Plata.files.FindFiles([swaggerFolder], 'header.json');
17
+ for (const route of routes) {
18
+ const docPath = node_path_1.default.normalize(node_path_1.default.dirname(route));
19
+ const method = node_path_1.default.normalize(node_path_1.default.basename(docPath));
20
+ const httpPath = node_path_1.default.normalize(node_path_1.default.dirname(docPath.replace(swaggerFolder, ''))).replace(/\\/g, '/');
21
+ const header = require(node_path_1.default.join(docPath, 'header.json'));
22
+ const body = require(node_path_1.default.join(docPath, 'body.json'));
23
+ const response = require(node_path_1.default.join(docPath, 'response.json'));
24
+ if (obj.paths[httpPath] === undefined) {
25
+ obj.paths[httpPath] = new Object(null);
26
+ }
27
+ obj.paths[httpPath][method] = { ...header, responses: response };
28
+ if (Object.keys(body).length !== 0) {
29
+ if (!Array.isArray(obj.paths[httpPath][method].parameters)) {
30
+ obj.paths[httpPath][method].parameters = [];
31
+ }
32
+ const swaggerRouteBody = {
33
+ name: "body",
34
+ description: body.description,
35
+ in: "body",
36
+ schema: {
37
+ type: body.type ?? "object",
38
+ }
39
+ };
40
+ if (swaggerRouteBody.schema.type === 'array') {
41
+ swaggerRouteBody.schema.items = {
42
+ example: body.example
43
+ };
44
+ }
45
+ else {
46
+ swaggerRouteBody.schema.properties = body.example;
47
+ }
48
+ obj.paths[httpPath][method].parameters.push(swaggerRouteBody);
49
+ }
50
+ }
51
+ }
52
+ return obj;
53
+ }
54
+ Internals.loadSwaggerConfig = loadSwaggerConfig;
55
+ })(Internals = exports.Internals || (exports.Internals = {}));
56
+ const swagger = async (router) => {
57
+ router.swaggerHide = true;
58
+ if (Plata.config._PLATA_WORKER_NAME === '__PLATA_EXPRESS__') {
59
+ router.use(swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(await Internals.loadSwaggerConfig(), {}));
60
+ }
61
+ return router;
62
+ };
63
+ exports.swagger = swagger;
64
+ //# sourceMappingURL=swagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../src/libs/swagger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
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.callTask = exports.loadTasks = exports.buildTask = exports.buildTaskCallBack = exports.getTasksNodeProcess = void 0;
27
+ const schedule = __importStar(require("node-schedule"));
28
+ const tools_1 = require("./tools");
29
+ function getTasksNodeProcess() {
30
+ const p = process;
31
+ if (p._plata === undefined) {
32
+ p._plata = {
33
+ tasks: []
34
+ };
35
+ }
36
+ if (p._plata.tasks === undefined) {
37
+ p._plata.tasks = [];
38
+ }
39
+ return p._plata;
40
+ }
41
+ exports.getTasksNodeProcess = getTasksNodeProcess;
42
+ function buildTaskCallBack(task) {
43
+ return async (fireDate) => {
44
+ let status = null;
45
+ const data = new Date();
46
+ const promise = task.callback(fireDate).then(s => status = s, err => status = {
47
+ errorID: 'PBT0001',
48
+ msg: `Erro ao rodar a task ${task.name}`,
49
+ error: err
50
+ });
51
+ const i = getTasksNodeProcess().tasks.findIndex(v => v.name === task.name);
52
+ await promise;
53
+ if (i !== -1) {
54
+ getTasksNodeProcess().tasks[i].lastReturn = status;
55
+ getTasksNodeProcess().tasks[i].lastRun = data;
56
+ }
57
+ };
58
+ }
59
+ exports.buildTaskCallBack = buildTaskCallBack;
60
+ async function buildTask(task) {
61
+ if (task.onPlataStart) {
62
+ let status = null;
63
+ try {
64
+ status = await task.callback(new Date());
65
+ }
66
+ catch (e) {
67
+ status = {
68
+ errorID: 'PBT0002',
69
+ msg: `Erro ao rodar a task ${task.name}`,
70
+ error: e
71
+ };
72
+ }
73
+ getTasksNodeProcess().tasks.push({
74
+ ...task,
75
+ lastRun: new Date(),
76
+ lastReturn: status
77
+ });
78
+ }
79
+ else {
80
+ getTasksNodeProcess().tasks.push({
81
+ ...task,
82
+ lastRun: null,
83
+ lastReturn: null
84
+ });
85
+ }
86
+ if (task.rule === null) {
87
+ return null;
88
+ }
89
+ return schedule.scheduleJob(task.rule, buildTaskCallBack(task));
90
+ }
91
+ exports.buildTask = buildTask;
92
+ async function loadTasks() {
93
+ const tasks = [];
94
+ const task = await tools_1.PlataRequire.requireFolderAsync(tools_1.PlataDirs.getProjectDirTasks());
95
+ if (task.errorID !== undefined) {
96
+ return task;
97
+ }
98
+ for (const t of task) {
99
+ if (t.errorID !== undefined) {
100
+ return t;
101
+ }
102
+ const j = await buildTask(t.exports);
103
+ if (j !== null)
104
+ tasks.push(j);
105
+ }
106
+ return tasks;
107
+ }
108
+ exports.loadTasks = loadTasks;
109
+ async function callTask(name) {
110
+ const i = getTasksNodeProcess().tasks.findIndex(v => v.name === name);
111
+ if (i === -1) {
112
+ return {
113
+ errorID: 'PBT0003',
114
+ msg: `Task: ${name} não existe`,
115
+ };
116
+ }
117
+ const data = new Date();
118
+ return getTasksNodeProcess().tasks[i].callback(data).then(status => {
119
+ getTasksNodeProcess().tasks[i].lastReturn = status;
120
+ getTasksNodeProcess().tasks[i].lastRun = data;
121
+ return status;
122
+ }, err => {
123
+ const status = {
124
+ errorID: 'PBT0004',
125
+ msg: `Erro ao rodar a task ${name}`,
126
+ error: err
127
+ };
128
+ getTasksNodeProcess().tasks[i].lastReturn = status;
129
+ getTasksNodeProcess().tasks[i].lastRun = data;
130
+ return status;
131
+ });
132
+ }
133
+ exports.callTask = callTask;
134
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/libs/tasks.ts"],"names":[],"mappings":"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"}