exodus-framework 2.0.955 → 2.0.956

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 (105) hide show
  1. package/lib/app/classes/broadcast.js +79 -0
  2. package/lib/app/classes/cache.js +94 -0
  3. package/lib/app/classes/communication.js +99 -0
  4. package/lib/app/classes/communicationcontext.js +1 -0
  5. package/lib/app/classes/event.js +94 -0
  6. package/lib/app/classes/index.js +105 -0
  7. package/lib/app/classes/managed.js +145 -0
  8. package/lib/app/classes/service.js +232 -0
  9. package/lib/app/classes/servicemodel.js +22 -0
  10. package/lib/app/classes/singleton.js +26 -0
  11. package/lib/app/classes/socket/clienthandler.js +54 -0
  12. package/lib/app/classes/socket/eventhandler.js +51 -0
  13. package/lib/app/classes/socket/index.js +20 -0
  14. package/lib/app/classes/system.js +49 -0
  15. package/lib/app/controller.js +97 -0
  16. package/lib/app/core.js +47 -0
  17. package/lib/app/error.js +66 -0
  18. package/lib/app/exodus.js +97 -0
  19. package/lib/app/index.js +68 -0
  20. package/lib/app/settings.js +161 -0
  21. package/lib/certificates/private_key.pem +27 -0
  22. package/lib/certificates/public_key.pem +9 -0
  23. package/lib/contracts/communication/communication.js +39 -0
  24. package/lib/contracts/communication/index.js +27 -0
  25. package/lib/contracts/communication/operation.js +5 -0
  26. package/lib/contracts/console.js +5 -0
  27. package/lib/contracts/contansts.js +13 -0
  28. package/lib/contracts/core.js +12 -0
  29. package/lib/contracts/entity.js +5 -0
  30. package/lib/contracts/http.js +52 -0
  31. package/lib/contracts/index.js +104 -0
  32. package/lib/contracts/messaging.js +50 -0
  33. package/lib/contracts/security.js +5 -0
  34. package/lib/contracts/service.js +11 -0
  35. package/lib/contracts/session.js +5 -0
  36. package/lib/contracts/settings.js +5 -0
  37. package/lib/contracts/singleton.js +5 -0
  38. package/lib/contracts/socket.js +11 -0
  39. package/lib/contracts/tasks.js +1 -0
  40. package/lib/controllers/api/file.js +24 -0
  41. package/lib/controllers/api/index.js +13 -0
  42. package/lib/controllers/api/log.js +55 -0
  43. package/lib/controllers/api/report.js +55 -0
  44. package/lib/controllers/index.js +16 -0
  45. package/lib/controllers/messaging/application.js +75 -0
  46. package/lib/controllers/messaging/database.js +64 -0
  47. package/lib/controllers/messaging/environment.js +111 -0
  48. package/lib/express.d.js +5 -0
  49. package/lib/index.js +104 -0
  50. package/lib/middlewares/access.js +114 -0
  51. package/lib/middlewares/authentication.js +104 -0
  52. package/lib/middlewares/file.js +41 -0
  53. package/lib/middlewares/index.js +36 -0
  54. package/lib/models/Application.js +65 -0
  55. package/lib/models/DatabaseHost.js +62 -0
  56. package/lib/models/EnvConnection.js +41 -0
  57. package/lib/models/Log.js +67 -0
  58. package/lib/models/Report.js +65 -0
  59. package/lib/models/System.js +54 -0
  60. package/lib/models/index.js +82 -0
  61. package/lib/routes/api/index.js +16 -0
  62. package/lib/routes/api/v1/index.js +38 -0
  63. package/lib/routes/api/v1/logs.js +19 -0
  64. package/lib/routes/api/v1/report.js +19 -0
  65. package/lib/routes/api/v1/sse.js +36 -0
  66. package/lib/routes/index.js +27 -0
  67. package/lib/routes/messaging/index.js +34 -0
  68. package/lib/services/database.js +136 -0
  69. package/lib/services/ecosystem.js +46 -0
  70. package/lib/services/express.js +162 -0
  71. package/lib/services/file.js +65 -0
  72. package/lib/services/file_new.js +136 -0
  73. package/lib/services/index.js +108 -0
  74. package/lib/services/log.js +26 -0
  75. package/lib/services/rabitmq.js +187 -0
  76. package/lib/services/redis.js +84 -0
  77. package/lib/services/security.js +231 -0
  78. package/lib/services/sequelize.js +313 -0
  79. package/lib/services/socket.js +123 -0
  80. package/lib/services/task/TaskServiceBase.js +17 -0
  81. package/lib/services/task/index.js +40 -0
  82. package/lib/services/task/queue/QueueService.js +48 -0
  83. package/lib/services/task/queue/QueueTask.js +134 -0
  84. package/lib/services/task/queue/SingleQueue.js +68 -0
  85. package/lib/services/task/queue/index.js +27 -0
  86. package/lib/services/task/scheduler/SchedulerService.js +31 -0
  87. package/lib/services/task/scheduler/SchedulerTask.js +211 -0
  88. package/lib/services/task/scheduler/index.js +20 -0
  89. package/lib/services/test.js +27 -0
  90. package/lib/socket.d.js +3 -0
  91. package/lib/tasks/index.js +27 -0
  92. package/lib/tasks/queue/application.js +44 -0
  93. package/lib/tasks/queue/environment.js +92 -0
  94. package/lib/tasks/queue/index.js +20 -0
  95. package/lib/tasks/queue/teste.js +21 -0
  96. package/lib/tasks/schedule/index.js +13 -0
  97. package/lib/tasks/schedule/restart.js +19 -0
  98. package/lib/tasks/schedule/teste.js +61 -0
  99. package/lib/utils/api.js +65 -0
  100. package/lib/utils/database.js +157 -0
  101. package/lib/utils/date.js +28 -0
  102. package/lib/utils/index.js +60 -0
  103. package/lib/utils/logger.js +51 -0
  104. package/lib/utils/session.js +23 -0
  105. package/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _dateFns = require("date-fns");
8
+ var _app = require("../app");
9
+ var _controller = _interopRequireDefault(require("../app/controller"));
10
+ var _http = require("../contracts/http");
11
+ var _models = require("../models");
12
+ var _security = _interopRequireDefault(require("../services/security"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ class AccessMiddleware extends _controller.default {
15
+ /**
16
+ * !Deve ser chamada!!
17
+ *
18
+ * @param {TAccountType[]} level
19
+ * @memberof AccessMiddleware
20
+ */
21
+ accessLevel = level => {
22
+ return (req, res, next) => {
23
+ if (!level.includes(req.auth.account.type)) {
24
+ throw new _app.HttpError({
25
+ message: 'Nível de acesso não permitido para esta rota.',
26
+ statusCode: _http.EHttpResponseCode.informationBlocked
27
+ });
28
+ }
29
+ next();
30
+ };
31
+ };
32
+ getTenant = async (req, res, next) => {
33
+ const account = req.auth?.account;
34
+ const tenantId = req.header('X-Exodus-Tenant-ID');
35
+ const applicationId = req.header('X-Exodus-Application-ID');
36
+ let isApplication = false;
37
+
38
+ //! Negar caso não haja um ou outro;
39
+ if (!account && !applicationId && !tenantId) {
40
+ throw new _app.HttpError({
41
+ message: 'Credênciais de autênticação não informadas',
42
+ statusCode: _http.EHttpResponseCode.informationUnauthorized
43
+ });
44
+ }
45
+ const requestor = {
46
+ database: '',
47
+ id: account?.uuid,
48
+ name: account?.name,
49
+ environmentId: tenantId,
50
+ trigger: tenantId
51
+ };
52
+ let envUuid = '';
53
+
54
+ /* Aplicações */
55
+ if (applicationId) {
56
+ isApplication = true;
57
+ const application = await _models.Application.findOne({
58
+ where: {
59
+ token: applicationId
60
+ }
61
+ });
62
+ if (!application) {
63
+ throw new _app.HttpError({
64
+ message: 'Token de aplicação inválido',
65
+ statusCode: _http.EHttpResponseCode.informationUnauthorized
66
+ });
67
+ } else if (!application.active) {
68
+ throw new _app.HttpError({
69
+ message: 'Token desativado',
70
+ statusCode: _http.EHttpResponseCode.informationBlocked
71
+ });
72
+ } else if ((0, _dateFns.isBefore)(application.expiresAt, new Date())) {
73
+ throw new _app.HttpError({
74
+ message: 'Token expirado',
75
+ statusCode: _http.EHttpResponseCode.informationBlocked
76
+ });
77
+ } else {
78
+ //valido
79
+ const data = await _security.default.singleton().verifySignature(applicationId, _security.default.singleton().getServicePublicKey());
80
+ if (!data) {
81
+ throw new _app.HttpError({
82
+ message: 'Token sem autênticidade.',
83
+ statusCode: _http.EHttpResponseCode.informationBlocked
84
+ });
85
+ }
86
+ requestor.database = data.payload.database;
87
+ requestor.environmentId = data.payload.envUuid;
88
+ requestor.name = application.dataValues.name;
89
+ requestor.id = data.payload.token;
90
+ requestor.trigger = applicationId;
91
+ envUuid = data.payload.envUuid;
92
+ }
93
+ } else if (tenantId) {
94
+ if (!account) {
95
+ throw new _app.HttpError({
96
+ message: 'Não é permitido o uso do tenantId sem uma sessão ativa',
97
+ statusCode: _http.EHttpResponseCode.informationBlocked
98
+ });
99
+ }
100
+ envUuid = tenantId;
101
+ if (account.type != 'ADMINISTRATOR') {
102
+ requestor.environmentId = account.envUuid;
103
+ envUuid = account.envUuid;
104
+ }
105
+ }
106
+ req.tenant = {
107
+ id: envUuid || _app.Core.settings.getDatabase().main.database
108
+ };
109
+ req.requestor = requestor;
110
+ req.isApplication = isApplication;
111
+ next();
112
+ };
113
+ }
114
+ var _default = exports.default = AccessMiddleware;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SocketAuthenticationMiddleware = exports.AuthenticationMiddleware = void 0;
7
+ var _dateFns = require("date-fns");
8
+ var _expressJwt = require("express-jwt");
9
+ var _app = require("../app");
10
+ var _controller = _interopRequireWildcard(require("../app/controller"));
11
+ var _models = require("../models");
12
+ var _security = _interopRequireDefault(require("../services/security"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ class AuthenticationMiddleware extends _controller.default {
17
+ decryptToken(required = true) {
18
+ return (0, _expressJwt.expressjwt)({
19
+ secret: async () => {
20
+ return _security.default.singleton().getServicePublicKey().toPEM(false);
21
+ },
22
+ issuer: _app.Core.settings.getAuthentication().serviceIssuer,
23
+ algorithms: ['RS256'],
24
+ credentialsRequired: required // Controla se o token é obrigatório
25
+ });
26
+ }
27
+ }
28
+ exports.AuthenticationMiddleware = AuthenticationMiddleware;
29
+ class SocketAuthenticationMiddleware extends _controller.SocketController {
30
+ decryptToken = async (socket, next) => {
31
+ const token = socket.handshake.auth['bearer'] ? socket.handshake.auth['bearer'].replace('Bearer ', '') : '';
32
+ const tenantId = socket.handshake.auth['X-Exodus-Tenant-ID'];
33
+ const applicationId = socket.handshake.auth['X-Exodus-Application-ID'];
34
+ let isApplication = false;
35
+ let envUuid = '';
36
+ try {
37
+ if (!token) {
38
+ return next(new Error('Token ausente'));
39
+ }
40
+ const data = await _security.default.getService().verifySignature(token, _security.default.singleton().getServicePublicKey());
41
+ if (!data) {
42
+ return next(new Error('Token inválido'));
43
+ }
44
+ const account = data['account'];
45
+ socket.auth = {
46
+ account: account,
47
+ exp: data.exp || 0,
48
+ iat: 0,
49
+ iss: data.iss || ''
50
+ };
51
+ const requestor = {
52
+ database: '',
53
+ id: account.uuid,
54
+ name: account.name,
55
+ environmentId: tenantId,
56
+ trigger: tenantId
57
+ };
58
+
59
+ /* Aplicações */
60
+ if (applicationId) {
61
+ isApplication = true;
62
+ const application = await _models.Application.findOne({
63
+ where: {
64
+ token: applicationId
65
+ }
66
+ });
67
+ if (!application) {
68
+ return next(new Error('Token de aplicação inválido'));
69
+ } else if (!application.active) {
70
+ return next(new Error('Token de aplicação desativado'));
71
+ } else if ((0, _dateFns.isBefore)(application.expiresAt, new Date())) {
72
+ return next(new Error('Token de aplicação expirado'));
73
+ } else {
74
+ //valido
75
+ const data = await _security.default.singleton().verifySignature(applicationId, _security.default.singleton().getServicePublicKey());
76
+ if (!data) {
77
+ return next(new Error('Token de aplicação sem autênticidade'));
78
+ }
79
+ requestor.database = data.payload.database;
80
+ requestor.environmentId = data.payload.envUuid;
81
+ requestor.name = application.dataValues.name;
82
+ requestor.id = data.payload.token;
83
+ requestor.trigger = applicationId;
84
+ envUuid = data.payload.envUuid;
85
+ }
86
+ } else if (tenantId) {
87
+ envUuid = tenantId;
88
+ }
89
+ if (account && account.type != 'ADMINISTRATOR') {
90
+ requestor.environmentId = account.envUuid;
91
+ envUuid = account.envUuid;
92
+ }
93
+ socket.tenant = {
94
+ id: envUuid || _app.Core.settings.getDatabase().main.database
95
+ };
96
+ socket.requestor = requestor;
97
+ socket.isApplication = isApplication;
98
+ next();
99
+ } catch (error) {
100
+ return next(error);
101
+ }
102
+ };
103
+ }
104
+ exports.SocketAuthenticationMiddleware = SocketAuthenticationMiddleware;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _controller = _interopRequireDefault(require("../app/controller"));
8
+ var _multer = _interopRequireDefault(require("multer"));
9
+ var fs = _interopRequireWildcard(require("fs"));
10
+ var _path = _interopRequireDefault(require("path"));
11
+ var _app = require("../app");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ class FileMiddleware extends _controller.default {
16
+ storage;
17
+ constructor() {
18
+ super();
19
+ this.initStorage();
20
+ }
21
+ initStorage() {
22
+ this.storage = _multer.default.diskStorage({
23
+ destination: async (req, file, cb) => {
24
+ !fs.existsSync(_app.Core.settings.getAppication().filePaths.temporary) && fs.mkdirSync(_app.Core.settings.getAppication().filePaths.temporary, {
25
+ recursive: true
26
+ });
27
+ cb(null, _app.Core.settings.getAppication().filePaths.temporary);
28
+ },
29
+ filename: (req, file, cb) => {
30
+ const name = Date.now() + _path.default.extname(file.originalname);
31
+ cb(null, name);
32
+ }
33
+ });
34
+ }
35
+ upload = field => {
36
+ return (0, _multer.default)({
37
+ storage: this.storage
38
+ }).single(field);
39
+ };
40
+ }
41
+ var _default = exports.default = FileMiddleware;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ AccessMiddleware: true,
8
+ FileMiddleware: true
9
+ };
10
+ Object.defineProperty(exports, "AccessMiddleware", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _access.default;
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "FileMiddleware", {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _file.default;
20
+ }
21
+ });
22
+ var _access = _interopRequireDefault(require("./access"));
23
+ var _authentication = require("./authentication");
24
+ Object.keys(_authentication).forEach(function (key) {
25
+ if (key === "default" || key === "__esModule") return;
26
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
+ if (key in exports && exports[key] === _authentication[key]) return;
28
+ Object.defineProperty(exports, key, {
29
+ enumerable: true,
30
+ get: function () {
31
+ return _authentication[key];
32
+ }
33
+ });
34
+ });
35
+ var _file = _interopRequireDefault(require("./file"));
36
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Application = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _database = require("../utils/database");
9
+ class Application extends _sequelize.Model {}
10
+ exports.Application = Application;
11
+ Application.init({
12
+ uuid: {
13
+ type: _sequelize.DataTypes.UUID,
14
+ defaultValue: _sequelize.DataTypes.UUIDV4,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ autoIncrement: false
18
+ },
19
+ name: {
20
+ type: _sequelize.DataTypes.STRING(200),
21
+ allowNull: false
22
+ },
23
+ token: {
24
+ type: _sequelize.DataTypes.TEXT,
25
+ allowNull: false
26
+ },
27
+ key: {
28
+ type: _sequelize.DataTypes.TEXT,
29
+ allowNull: false
30
+ },
31
+ envUuid: {
32
+ type: _sequelize.DataTypes.UUID,
33
+ allowNull: false
34
+ },
35
+ acess: {
36
+ type: _sequelize.DataTypes.JSON(),
37
+ allowNull: true
38
+ },
39
+ expiresAt: {
40
+ type: _sequelize.DataTypes.DATE,
41
+ allowNull: false
42
+ },
43
+ active: {
44
+ type: _sequelize.DataTypes.BOOLEAN,
45
+ defaultValue: true
46
+ },
47
+ comments: {
48
+ type: _sequelize.DataTypes.STRING(255),
49
+ allowNull: true
50
+ },
51
+ params: {
52
+ type: _sequelize.DataTypes.JSON,
53
+ defaultValue: {},
54
+ allowNull: true
55
+ }
56
+ }, {
57
+ tableName: 'applications',
58
+ sequelize: _database.mainDb,
59
+ indexes: [{
60
+ fields: ['name']
61
+ }, {
62
+ fields: ['token'],
63
+ unique: true
64
+ }]
65
+ });
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DatabaseHost = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _database = require("../utils/database");
9
+ class DatabaseHost extends _sequelize.Model {}
10
+ exports.DatabaseHost = DatabaseHost;
11
+ DatabaseHost.init({
12
+ uuid: {
13
+ type: _sequelize.DataTypes.UUID,
14
+ defaultValue: _sequelize.DataTypes.UUIDV4,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ autoIncrement: false
18
+ },
19
+ host: {
20
+ type: _sequelize.DataTypes.STRING(200),
21
+ allowNull: false
22
+ },
23
+ name: {
24
+ type: _sequelize.DataTypes.STRING(200),
25
+ allowNull: false
26
+ },
27
+ dialect: {
28
+ type: _sequelize.DataTypes.ENUM('mysql', 'postgres', 'sqlite', 'mariadb', 'mssql', 'db2', 'snowflake', 'oracle'),
29
+ allowNull: false
30
+ },
31
+ username: {
32
+ type: _sequelize.DataTypes.STRING(100),
33
+ allowNull: false
34
+ },
35
+ credential: {
36
+ type: _sequelize.DataTypes.TEXT,
37
+ allowNull: false
38
+ },
39
+ password: {
40
+ type: _sequelize.DataTypes.TEXT,
41
+ allowNull: false
42
+ },
43
+ active: {
44
+ type: _sequelize.DataTypes.BOOLEAN,
45
+ defaultValue: true
46
+ },
47
+ params: {
48
+ type: _sequelize.DataTypes.JSON,
49
+ defaultValue: {},
50
+ allowNull: true
51
+ }
52
+ }, {
53
+ tableName: 'database_hosts',
54
+ sequelize: _database.mainDb,
55
+ indexes: [{
56
+ fields: ['name'],
57
+ unique: true
58
+ }, {
59
+ fields: ['host'],
60
+ unique: true
61
+ }]
62
+ });
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EnvDBHost = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _database = require("../utils/database");
9
+ class EnvDBHost extends _sequelize.Model {}
10
+ exports.EnvDBHost = EnvDBHost;
11
+ EnvDBHost.init({
12
+ uuid: {
13
+ type: _sequelize.DataTypes.UUID,
14
+ defaultValue: _sequelize.DataTypes.UUIDV4,
15
+ primaryKey: true,
16
+ allowNull: false,
17
+ autoIncrement: false
18
+ },
19
+ hostUuid: {
20
+ type: _sequelize.DataTypes.UUID,
21
+ allowNull: false
22
+ },
23
+ envUuid: {
24
+ type: _sequelize.DataTypes.UUID,
25
+ allowNull: false
26
+ },
27
+ envToken: {
28
+ type: _sequelize.DataTypes.UUID,
29
+ allowNull: false
30
+ }
31
+ }, {
32
+ tableName: 'env_dbhost',
33
+ sequelize: _database.mainDb,
34
+ indexes: [{
35
+ fields: ['envUuid'],
36
+ unique: true
37
+ }, {
38
+ fields: ['envToken', 'hostUuid'],
39
+ unique: true
40
+ }]
41
+ });
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Log = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _database = require("../utils/database");
9
+ var _servicemodel = _interopRequireDefault(require("../app/classes/servicemodel"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class Log extends _servicemodel.default {
12
+ static getConnParams() {
13
+ return {
14
+ tableName: 'logs',
15
+ sequelize: _database.mainDb,
16
+ indexes: [{
17
+ fields: ['category']
18
+ }, {
19
+ fields: ['origin']
20
+ }, {
21
+ fields: ['action']
22
+ }]
23
+ };
24
+ }
25
+ static getEntityParams() {
26
+ return {
27
+ uuid: {
28
+ type: _sequelize.DataTypes.UUID,
29
+ defaultValue: _sequelize.DataTypes.UUIDV4,
30
+ primaryKey: true,
31
+ allowNull: false,
32
+ autoIncrement: false
33
+ },
34
+ happenedAt: {
35
+ type: _sequelize.DataTypes.DATE,
36
+ allowNull: false
37
+ },
38
+ category: {
39
+ type: _sequelize.DataTypes.STRING(100),
40
+ allowNull: false
41
+ },
42
+ origin: {
43
+ type: _sequelize.DataTypes.STRING(100),
44
+ allowNull: false
45
+ },
46
+ action: {
47
+ type: _sequelize.DataTypes.STRING(100),
48
+ allowNull: false
49
+ },
50
+ comments: {
51
+ type: _sequelize.DataTypes.STRING(255),
52
+ allowNull: true
53
+ },
54
+ data: {
55
+ type: _sequelize.DataTypes.JSON,
56
+ defaultValue: {},
57
+ allowNull: true
58
+ },
59
+ params: {
60
+ type: _sequelize.DataTypes.JSON,
61
+ defaultValue: {},
62
+ allowNull: true
63
+ }
64
+ };
65
+ }
66
+ }
67
+ exports.Log = Log;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Report = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _servicemodel = _interopRequireDefault(require("../app/classes/servicemodel"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ class Report extends _servicemodel.default {
11
+ static getConnParams() {
12
+ return {
13
+ tableName: 'reports',
14
+ indexes: [{
15
+ fields: ['category']
16
+ }, {
17
+ fields: ['description']
18
+ }, {
19
+ fields: ['file']
20
+ }]
21
+ };
22
+ }
23
+ static getEntityParams() {
24
+ return {
25
+ uuid: {
26
+ type: _sequelize.DataTypes.UUID,
27
+ defaultValue: _sequelize.DataTypes.UUIDV4,
28
+ primaryKey: true,
29
+ allowNull: false,
30
+ autoIncrement: false
31
+ },
32
+ category: {
33
+ type: _sequelize.DataTypes.STRING(100),
34
+ allowNull: false
35
+ },
36
+ origin: {
37
+ type: _sequelize.DataTypes.STRING(100),
38
+ allowNull: false
39
+ },
40
+ description: {
41
+ type: _sequelize.DataTypes.STRING(255),
42
+ allowNull: true
43
+ },
44
+ file: {
45
+ type: _sequelize.DataTypes.STRING(255),
46
+ allowNull: true
47
+ },
48
+ total: {
49
+ type: _sequelize.DataTypes.INTEGER(),
50
+ allowNull: true
51
+ },
52
+ params: {
53
+ type: _sequelize.DataTypes.JSON,
54
+ defaultValue: {},
55
+ allowNull: true
56
+ },
57
+ status: {
58
+ type: _sequelize.DataTypes.ENUM('PENDING', 'COMPLETED'),
59
+ allowNull: false,
60
+ defaultValue: 'PENDING'
61
+ }
62
+ };
63
+ }
64
+ }
65
+ exports.Report = Report;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.System = void 0;
7
+ var _sequelize = require("sequelize");
8
+ var _database = require("../utils/database");
9
+ var _servicemodel = _interopRequireDefault(require("../app/classes/servicemodel"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class System extends _servicemodel.default {
12
+ static getConnParams() {
13
+ return {
14
+ tableName: 'system',
15
+ sequelize: _database.mainDb,
16
+ indexes: [{
17
+ fields: ['key']
18
+ }, {
19
+ fields: ['value']
20
+ }, {
21
+ fields: ['comments']
22
+ }]
23
+ };
24
+ }
25
+ static getEntityParams() {
26
+ return {
27
+ uuid: {
28
+ type: _sequelize.DataTypes.UUID,
29
+ defaultValue: _sequelize.DataTypes.UUIDV4,
30
+ primaryKey: true,
31
+ allowNull: false,
32
+ autoIncrement: false
33
+ },
34
+ key: {
35
+ type: _sequelize.DataTypes.STRING(100),
36
+ allowNull: false
37
+ },
38
+ value: {
39
+ type: _sequelize.DataTypes.STRING(255),
40
+ allowNull: false
41
+ },
42
+ comments: {
43
+ type: _sequelize.DataTypes.STRING(255),
44
+ allowNull: true
45
+ },
46
+ data: {
47
+ type: _sequelize.DataTypes.JSON,
48
+ defaultValue: {},
49
+ allowNull: true
50
+ }
51
+ };
52
+ }
53
+ }
54
+ exports.System = System;