exodus-framework 2.1.1031 → 2.1.1033

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 (108) hide show
  1. package/lib/app/classes/broadcast.d.ts +6 -0
  2. package/lib/app/classes/broadcast.d.ts.map +1 -1
  3. package/lib/app/classes/broadcast.js +1 -3
  4. package/lib/app/classes/communication.d.ts +17 -0
  5. package/lib/app/classes/communication.d.ts.map +1 -1
  6. package/lib/app/classes/communication.js +0 -8
  7. package/lib/app/classes/event.d.ts +6 -0
  8. package/lib/app/classes/event.d.ts.map +1 -1
  9. package/lib/app/classes/managed.d.ts +7 -0
  10. package/lib/app/classes/managed.d.ts.map +1 -1
  11. package/lib/app/classes/managed.js +0 -20
  12. package/lib/app/classes/service.d.ts +126 -0
  13. package/lib/app/classes/service.d.ts.map +1 -1
  14. package/lib/app/classes/service.js +4 -9
  15. package/lib/app/classes/servicemodel.d.ts +7 -0
  16. package/lib/app/classes/servicemodel.d.ts.map +1 -1
  17. package/lib/app/classes/singleton.d.ts +9 -0
  18. package/lib/app/classes/singleton.d.ts.map +1 -1
  19. package/lib/app/classes/singleton.js +0 -1
  20. package/lib/app/classes/socket/clienthandler.js +0 -6
  21. package/lib/app/classes/socket/eventhandler.js +0 -6
  22. package/lib/app/classes/socket/ssehandler.d.ts +1 -1
  23. package/lib/app/classes/socket/ssehandler.d.ts.map +1 -1
  24. package/lib/app/classes/socket/ssehandler.js +19 -22
  25. package/lib/app/classes/system.d.ts +6 -0
  26. package/lib/app/classes/system.d.ts.map +1 -1
  27. package/lib/app/controller.d.ts +25 -0
  28. package/lib/app/controller.d.ts.map +1 -1
  29. package/lib/app/core.d.ts +9 -0
  30. package/lib/app/core.d.ts.map +1 -1
  31. package/lib/app/core.js +0 -6
  32. package/lib/app/error.js +0 -1
  33. package/lib/app/exodus.d.ts +7 -0
  34. package/lib/app/exodus.d.ts.map +1 -1
  35. package/lib/app/exodus.js +1 -30
  36. package/lib/app/settings.js +3 -14
  37. package/lib/contracts/communication/communication.js +4 -4
  38. package/lib/contracts/contansts.js +2 -2
  39. package/lib/contracts/core.js +1 -1
  40. package/lib/contracts/entity.js +2 -4
  41. package/lib/contracts/http.d.ts +17 -1
  42. package/lib/contracts/http.d.ts.map +1 -1
  43. package/lib/contracts/http.js +2 -2
  44. package/lib/contracts/messaging.d.ts +1 -1
  45. package/lib/contracts/messaging.d.ts.map +1 -1
  46. package/lib/contracts/messaging.js +2 -2
  47. package/lib/contracts/service.js +1 -1
  48. package/lib/contracts/socket.js +2 -2
  49. package/lib/controllers/api/file.js +0 -4
  50. package/lib/controllers/api/log.js +0 -1
  51. package/lib/controllers/api/report.js +0 -1
  52. package/lib/controllers/messaging/application.js +0 -10
  53. package/lib/controllers/messaging/environment.js +0 -11
  54. package/lib/middlewares/access.d.ts +6 -0
  55. package/lib/middlewares/access.d.ts.map +1 -1
  56. package/lib/middlewares/access.js +0 -5
  57. package/lib/middlewares/authentication.d.ts +7 -0
  58. package/lib/middlewares/authentication.d.ts.map +1 -1
  59. package/lib/middlewares/authentication.js +2 -5
  60. package/lib/middlewares/file.js +0 -1
  61. package/lib/routes/api/v1/logs.js +0 -7
  62. package/lib/routes/api/v1/report.js +0 -7
  63. package/lib/routes/api/v1/sse.js +2 -11
  64. package/lib/routes/messaging/index.js +0 -6
  65. package/lib/services/database.d.ts +17 -0
  66. package/lib/services/database.d.ts.map +1 -1
  67. package/lib/services/database.js +5 -19
  68. package/lib/services/express.js +1 -7
  69. package/lib/services/file/FileLibrary.d.ts +8 -0
  70. package/lib/services/file/FileLibrary.d.ts.map +1 -1
  71. package/lib/services/file/FileLibrary.js +0 -2
  72. package/lib/services/file/classes/Mimetyp.d.ts +12 -0
  73. package/lib/services/file/classes/Mimetyp.d.ts.map +1 -1
  74. package/lib/services/file/classes/Mimetyp.js +0 -41
  75. package/lib/services/file/constants/mimes.js +0 -1
  76. package/lib/services/logger.js +0 -5
  77. package/lib/services/rabitmq.d.ts +26 -0
  78. package/lib/services/rabitmq.d.ts.map +1 -1
  79. package/lib/services/rabitmq.js +7 -13
  80. package/lib/services/redis.d.ts +7 -0
  81. package/lib/services/redis.d.ts.map +1 -1
  82. package/lib/services/redis.js +2 -5
  83. package/lib/services/security.d.ts +52 -0
  84. package/lib/services/security.d.ts.map +1 -1
  85. package/lib/services/security.js +0 -3
  86. package/lib/services/sequelize.d.ts +8 -0
  87. package/lib/services/sequelize.d.ts.map +1 -1
  88. package/lib/services/sequelize.js +3 -16
  89. package/lib/services/socket.d.ts +7 -0
  90. package/lib/services/socket.d.ts.map +1 -1
  91. package/lib/services/socket.js +1 -4
  92. package/lib/services/task/queue/QueueService.js +0 -1
  93. package/lib/services/task/queue/QueueTask.js +0 -16
  94. package/lib/services/task/scheduler/SchedulerTask.d.ts +16 -0
  95. package/lib/services/task/scheduler/SchedulerTask.d.ts.map +1 -1
  96. package/lib/services/task/scheduler/SchedulerTask.js +0 -9
  97. package/lib/services/test.js +0 -2
  98. package/lib/tasks/queue/teste.js +0 -20
  99. package/lib/tasks/schedule/teste.js +0 -16
  100. package/lib/utils/api.d.ts +157 -0
  101. package/lib/utils/api.d.ts.map +1 -1
  102. package/lib/utils/api.js +0 -10
  103. package/lib/utils/database.js +0 -18
  104. package/lib/utils/logger-transport.js +0 -7
  105. package/lib/utils/phone.d.ts +171 -0
  106. package/lib/utils/phone.d.ts.map +1 -1
  107. package/lib/utils/phone.js +0 -27
  108. package/package.json +1 -1
@@ -9,13 +9,8 @@ var _models = require("../../models");
9
9
  var _services = require("../../services");
10
10
  var _logger = _interopRequireDefault(require("../../services/logger"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- //TODO: a ordem de inicialização do sistema impede as tasks estarem disponiveis até o momento
13
- //TODO: deveria ser assim?
14
12
  class EnvironmentController extends _app.MessagingController {
15
13
  created = async (data, ack) => {
16
- /* EnvironmentSyncQueue.addJob({ create: data });
17
- ack(); */
18
-
19
14
  try {
20
15
  const db = data.database;
21
16
  const token = data.envToken;
@@ -52,9 +47,6 @@ class EnvironmentController extends _app.MessagingController {
52
47
  }
53
48
  };
54
49
  updatedDatabase = async (data, ack) => {
55
- /* EnvironmentSyncQueue.addJob({ update: data });
56
- ack(); */
57
-
58
50
  try {
59
51
  const relation = await _models.EnvDBHost.findOne({
60
52
  where: {
@@ -73,9 +65,6 @@ class EnvironmentController extends _app.MessagingController {
73
65
  }
74
66
  };
75
67
  sync = async (data, ack) => {
76
- /* EnvironmentSyncQueue.addJob({ sync: data });
77
- ack(); */
78
-
79
68
  try {
80
69
  data.forEach(async env => {
81
70
  try {
@@ -2,6 +2,12 @@ import { RequestHandler } from 'express';
2
2
  import HttpController from '../app/controller';
3
3
  import { TAccountType } from '../contracts';
4
4
  declare class AccessMiddleware extends HttpController {
5
+ /**
6
+ * !Deve ser chamada!!
7
+ *
8
+ * @param {TAccountType[]} level
9
+ * @memberof AccessMiddleware
10
+ */
5
11
  accessLevel: (level: TAccountType[]) => RequestHandler;
6
12
  getTenant: RequestHandler;
7
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/middlewares/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,cAAM,gBAAiB,SAAQ,cAAc;IAO3C,WAAW,UAAW,YAAY,EAAE,KAAG,cAAc,CAWnD;IAEF,SAAS,EAAE,cAAc,CA+FvB;CACH;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/middlewares/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,cAAM,gBAAiB,SAAQ,cAAc;IAC3C;;;;;OAKG;IACH,WAAW,UAAW,YAAY,EAAE,KAAG,cAAc,CAWnD;IAEF,SAAS,EAAE,cAAc,CA+FvB;CACH;AAED,eAAe,gBAAgB,CAAC"}
@@ -35,8 +35,6 @@ class AccessMiddleware extends _controller.default {
35
35
  const applicationId = req.header('X-Exodus-Application-ID');
36
36
  const exodusServiceId = req.header('X-Exodus-Service-ID');
37
37
  let isApplication = false;
38
-
39
- //! Negar caso não haja um ou outro;
40
38
  if (!account && !applicationId && !tenantId && !exodusServiceId) {
41
39
  throw new _app.HttpError({
42
40
  message: 'Credênciais de autênticação não informadas',
@@ -51,8 +49,6 @@ class AccessMiddleware extends _controller.default {
51
49
  trigger: tenantId
52
50
  };
53
51
  let envUuid = '';
54
-
55
- /* Aplicações */
56
52
  if (applicationId) {
57
53
  isApplication = true;
58
54
  const application = await _models.Application.findOne({
@@ -76,7 +72,6 @@ class AccessMiddleware extends _controller.default {
76
72
  statusCode: _http.EHttpResponseCode.informationBlocked
77
73
  });
78
74
  } else {
79
- //valido
80
75
  const data = await _security.default.getService().verifySignature(applicationId, _security.default.getService().getServicePublicKey());
81
76
  if (!data) {
82
77
  throw new _app.HttpError({
@@ -3,6 +3,13 @@ import { Socket } from 'socket.io';
3
3
  import { ExtendedError } from 'socket.io/dist/namespace';
4
4
  import HttpController, { SocketController } from '../app/controller';
5
5
  export declare class AuthenticationMiddleware extends HttpController {
6
+ /**
7
+ * Recupera a sessão ativa baseada no token
8
+ *
9
+ * @param {boolean} [required=true] Controla se o token de sessão é obrigatório (Em caso de rota API usar como false)
10
+ * @return {*} {RequestHandler}
11
+ * @memberof AuthenticationMiddleware
12
+ */
6
13
  decryptToken(required?: boolean): RequestHandler;
7
14
  }
8
15
  export declare class SocketAuthenticationMiddleware extends SocketController {
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../src/middlewares/authentication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,cAAc,EAAE,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrE,qBAAa,wBAAyB,SAAQ,cAAc;IAQ1D,YAAY,CAAC,QAAQ,GAAE,OAAc,GAAG,cAAc;CAUvD;AAED,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,YAAY,WAAkB,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,mBAqFvE;CACH"}
1
+ {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../src/middlewares/authentication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,cAAc,EAAE,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrE,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,GAAE,OAAc,GAAG,cAAc;CAUvD;AAED,qBAAa,8BAA+B,SAAQ,gBAAgB;IAClE,YAAY,WAAkB,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,mBAqFvE;CACH"}
@@ -27,7 +27,7 @@ class AuthenticationMiddleware extends _controller.default {
27
27
  },
28
28
  issuer: _app.Core.settings.getAuthentication().serviceIssuer,
29
29
  algorithms: ['RS256'],
30
- credentialsRequired: required // Controla se o token é obrigatório
30
+ credentialsRequired: required
31
31
  });
32
32
  }
33
33
  }
@@ -39,7 +39,7 @@ class SocketAuthenticationMiddleware extends _controller.SocketController {
39
39
  const applicationId = socket.handshake.auth['X-Exodus-Application-ID'];
40
40
  let isApplication = false;
41
41
  let envUuid = '';
42
- socket.extraHeaders = socket.handshake.auth; // no modo websoket os headers não são passados, então é necessário passar os dados vias auth
42
+ socket.extraHeaders = socket.handshake.auth;
43
43
  try {
44
44
  if (!token) {
45
45
  return next(new Error('Token ausente'));
@@ -62,8 +62,6 @@ class SocketAuthenticationMiddleware extends _controller.SocketController {
62
62
  environmentId: tenantId,
63
63
  trigger: tenantId
64
64
  };
65
-
66
- /* Aplicações */
67
65
  if (applicationId) {
68
66
  isApplication = true;
69
67
  const application = await _models.Application.findOne({
@@ -78,7 +76,6 @@ class SocketAuthenticationMiddleware extends _controller.SocketController {
78
76
  } else if ((0, _dateFns.isBefore)(application.expiresAt, new Date())) {
79
77
  return next(new Error('Token de aplicação expirado'));
80
78
  } else {
81
- //valido
82
79
  const data = await _security.default.singleton().verifySignature(applicationId, _security.default.singleton().getServicePublicKey());
83
80
  if (!data) {
84
81
  return next(new Error('Token de aplicação sem autênticidade'));
@@ -25,7 +25,6 @@ class FileMiddleware extends _controller.default {
25
25
  cb(null, _app.Core.settings.getAppication().filePaths.temporary);
26
26
  },
27
27
  filename: (req, file, cb) => {
28
- // const name = Date.now() + path.extname(file.originalname);
29
28
  const name = Date.now() + '_@_' + file.originalname;
30
29
  cb(null, name);
31
30
  }
@@ -7,13 +7,6 @@ exports.logRouter = void 0;
7
7
  var _express = require("express");
8
8
  var _log = _interopRequireDefault(require("../../../controllers/api/log"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- //* Router
11
10
  const logRouter = exports.logRouter = (0, _express.Router)();
12
-
13
- //* Middlewares
14
-
15
- //* Controllers
16
11
  const logController = new _log.default();
17
-
18
- //* Definitions
19
12
  logRouter.route('/list').post(logController.list);
@@ -7,13 +7,6 @@ exports.reportRouter = void 0;
7
7
  var _express = require("express");
8
8
  var _report = _interopRequireDefault(require("../../../controllers/api/report"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- //* Router
11
10
  const reportRouter = exports.reportRouter = (0, _express.Router)();
12
-
13
- //* Middlewares
14
-
15
- //* Controllers
16
11
  const reportController = new _report.default();
17
-
18
- //* Definitions
19
12
  reportRouter.route('/list').post(reportController.list);
@@ -7,27 +7,18 @@ exports.sseRouter = void 0;
7
7
  var _express = require("express");
8
8
  const sseRouter = exports.sseRouter = (0, _express.Router)();
9
9
  sseRouter.route('/sse').post((req, res) => {
10
- // Definir cabeçalhos SSE
11
10
  res.setHeader('Content-Type', 'text/event-stream');
12
11
  res.setHeader('Cache-Control', 'no-cache');
13
12
  res.setHeader('Connection', 'keep-alive');
14
- res.flushHeaders(); // Enviar headers imediatamente
15
-
16
- // Função para enviar eventos
13
+ res.flushHeaders();
17
14
  const sendEvent = data => {
18
- res.write(`data: ${data}\n\n`); // Formatação para SSE
15
+ res.write(`data: ${data}\n\n`);
19
16
  };
20
-
21
- // Enviar um evento inicial
22
17
  sendEvent('Conexão SSE estabelecida!');
23
-
24
- // Exemplo: enviar eventos periodicamente
25
18
  const intervalId = setInterval(() => {
26
19
  const message = `Mensagem do servidor: ${new Date().toLocaleTimeString()}`;
27
20
  sendEvent(message);
28
21
  }, 5000);
29
-
30
- // Limpar intervalo e encerrar conexão quando o cliente fechar a conexão
31
22
  req.on('close', () => {
32
23
  clearInterval(intervalId);
33
24
  res.end();
@@ -8,24 +8,18 @@ var _application = _interopRequireDefault(require("../../controllers/messaging/a
8
8
  var _database = _interopRequireDefault(require("../../controllers/messaging/database"));
9
9
  var _environment = _interopRequireDefault(require("../../controllers/messaging/environment"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- //* Controllers
12
11
  const databaseController = new _database.default();
13
12
  const envController = new _environment.default();
14
13
  const appController = new _application.default();
15
-
16
- //* Definitions
17
14
  const NativeMessagingRoutes = {
18
- /* Connections Library */
19
15
  'exodus.database.created': databaseController.created,
20
16
  'exodus.database.updated': databaseController.update,
21
17
  'exodus.database.deleted': databaseController.delete,
22
18
  'exodus.database.sync': databaseController.sync,
23
- /* Application Integrations */
24
19
  'exodus.application.created': appController.created,
25
20
  'exodus.application.updated': appController.update,
26
21
  'exodus.application.deleted': appController.delete,
27
22
  'exodus.application.sync': appController.sync,
28
- /* Environment Sync Database Relations */
29
23
  'exodus.environment.created': envController.created,
30
24
  'exodus.environment.deleted': envController.deleted,
31
25
  'exodus.environment.sync': envController.sync,
@@ -28,8 +28,25 @@ declare class DatabaseService extends Service {
28
28
  createDB(hostId: string, name: string): Promise<boolean>;
29
29
  deleteDB(hostId: string, name: string): Promise<boolean>;
30
30
  hasDB(hostId: string, name: string): Promise<boolean>;
31
+ /**
32
+ * Usado para acionar migrações especificas do tenant
33
+ *
34
+ * @param {Sequelize} connection
35
+ * @memberof DatabaseService
36
+ */
31
37
  execTenantMigrates(connection: Sequelize): Promise<void>;
38
+ /**
39
+ * Usado para acionar migrações especificas do core
40
+ *
41
+ * @param {Sequelize} connection
42
+ * @memberof DatabaseService
43
+ */
32
44
  execCoreMigrates(connection: Sequelize): Promise<void>;
45
+ /**
46
+ * Usado para acionar migrações especificas do serviço
47
+ *
48
+ * @memberof DatabaseService
49
+ */
33
50
  execServiceMigrate(): Promise<void>;
34
51
  }
35
52
  export default DatabaseService;
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAsB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAgB,SAAS,EAAE,MAAM,WAAW,CAAC;AAKpD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAAyB;IAE/B,aAAa;IAWb,OAAO;IA0CP,WAAW;YAMV,cAAc;IAgDf,gBAAgB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO;IAwBL,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,UAAO;IAO9C,cAAc,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB;YA2Ba,sBAAsB;IA6BvB,YAAY;IAKZ,aAAa;IAKb,oBAAoB,CAAC,QAAQ,EAAE,MAAM;YAMpC,UAAU;IASX,SAAS,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B,OAAO,CAAC,qBAAqB;IAIhB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA+BrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAwBlC,kBAAkB,CAAC,UAAU,EAAE,SAAS;IAoBxC,gBAAgB,CAAC,UAAU,EAAE,SAAS;IAoBtC,kBAAkB;CAehC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAsB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAgB,SAAS,EAAE,MAAM,WAAW,CAAC;AAKpD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAAyB;IAE/B,aAAa;IAWb,OAAO;IA0CP,WAAW;YAMV,cAAc;IAgDf,gBAAgB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO;IAwBL,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,UAAO;IAO9C,cAAc,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB;YA2Ba,sBAAsB;IA6BvB,YAAY;IAKZ,aAAa;IAKb,oBAAoB,CAAC,QAAQ,EAAE,MAAM;YAMpC,UAAU;IASX,SAAS,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B,OAAO,CAAC,qBAAqB;IAIhB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA+BrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAkB/C;;;;;OAKG;IACU,kBAAkB,CAAC,UAAU,EAAE,SAAS;IAcrD;;;;;OAKG;IACU,gBAAgB,CAAC,UAAU,EAAE,SAAS;IAenD;;;;OAIG;IACU,kBAAkB;CAehC;AAED,eAAe,eAAe,CAAC"}
@@ -20,8 +20,6 @@ class DatabaseService extends _app.Service {
20
20
  async onServiceInit() {
21
21
  this.entities = new Map();
22
22
  this.connections = new Map();
23
-
24
- // para busca rápidas
25
23
  this.connections.set(_app.Core.settings.getDatabase().main.database, _utils.mainDb);
26
24
  this.startAttemptDelay = 5 * 1000;
27
25
  this.maxStartAttempts = 3;
@@ -33,8 +31,8 @@ class DatabaseService extends _app.Service {
33
31
  await _utils.mainDb.sync({
34
32
  alter: true
35
33
  });
36
- await this.execServiceMigrate(); // migrar atualizações do serviço
37
- await this.execTenantMigrates(_utils.mainDb); //migrar atualizações do tenant para o serviço principal (este ainda é usado como serviço/tenant para supersu)
34
+ await this.execServiceMigrate();
35
+ await this.execTenantMigrates(_utils.mainDb);
38
36
  this.log('✅ Connected service database sucessfully', 'success');
39
37
  if (process.env.DB_INIT_WITH_MIGRATE === 'true') {
40
38
  const tenants = await this.getAllTenants();
@@ -58,8 +56,6 @@ class DatabaseService extends _app.Service {
58
56
  await super.onStartFail();
59
57
  this.log(`Not possible to connect database`, 'danger');
60
58
  }
61
-
62
- //* Connection
63
59
  async initConnection(tenantId, migrate = true) {
64
60
  const tenantInfo = await this.getTenantInformation(tenantId);
65
61
  if (!tenantInfo) {
@@ -81,7 +77,7 @@ class DatabaseService extends _app.Service {
81
77
  const password = data.payload;
82
78
  const connection = await this.createConnection(address, port, database, dbHost.username, password, dbHost.dialect);
83
79
  if (migrate) {
84
- await this.execCoreMigrates(connection); //para incluir recursos gerenciados pelo core para o tenant/service
80
+ await this.execCoreMigrates(connection);
85
81
  await this.execTenantMigrates(connection);
86
82
  }
87
83
  this.connections.set(tenantId, connection);
@@ -150,12 +146,8 @@ class DatabaseService extends _app.Service {
150
146
  throw new Error(`Não foi possível descriptografar as credenciais de conexão para host: ${hostId}`);
151
147
  }
152
148
  const password = data.payload;
153
- return this.createConnection(address, port, undefined,
154
- //! apenas retornar a conexão
155
- host.username, password, host.dialect);
149
+ return this.createConnection(address, port, undefined, host.username, password, host.dialect);
156
150
  }
157
-
158
- //* Environment
159
151
  async getTenantIds() {
160
152
  const tenants = await _models.EnvDBHost.findAll({
161
153
  attributes: ['envUuid']
@@ -174,13 +166,10 @@ class DatabaseService extends _app.Service {
174
166
  });
175
167
  return relation;
176
168
  }
177
-
178
- //* Entity
179
169
  async loadEntity(entity, tenantId) {
180
170
  const k = `${tenantId}#${entity.name}`;
181
171
  const connection = await this.getConnection(tenantId);
182
172
  const loadedEntity = entity.initialize(connection);
183
- // await loadedEntity.sync({ force: false, alter: false }); //! tenta recriar os indices e da erro
184
173
  this.entities.set(k, loadedEntity);
185
174
  }
186
175
  async getEntity(model, tenantId) {
@@ -190,8 +179,6 @@ class DatabaseService extends _app.Service {
190
179
  }
191
180
  return this.entities.get(k);
192
181
  }
193
-
194
- //* Utils
195
182
  normalizeDatabaseName(envToken) {
196
183
  return `${_app.Core.settings.getDatabase().main.database}_${envToken}`;
197
184
  }
@@ -202,7 +189,6 @@ class DatabaseService extends _app.Service {
202
189
  const dbQueryName = `${_app.Core.settings.getDatabase().main.database}_${name}`;
203
190
  const [results] = await connection.query(`SHOW DATABASES LIKE '${dbQueryName}';`);
204
191
  if (results.length === 0) {
205
- // Se o banco de dados não existir, cria-o
206
192
  await connection.query(`CREATE DATABASE ${dbQueryName};`);
207
193
  this.log(`Database "${dbQueryName}" has been created.`);
208
194
  await connection.query(`USE ${dbQueryName};`);
@@ -266,7 +252,7 @@ class DatabaseService extends _app.Service {
266
252
  const migrations = _app.Core.settings.getDatabase().migrationsPath;
267
253
  const umzung = new _umzug.Umzug({
268
254
  migrations: {
269
- glob: `${migrations}/*.js` //! se incluir .ts vai duplicar na db pois ele salva com o formato tbm.
255
+ glob: `${migrations}/*.js`
270
256
  },
271
257
  context: connection.getQueryInterface(),
272
258
  storage: new _umzug.SequelizeStorage({
@@ -16,16 +16,12 @@ var _http2 = require("../contracts/http");
16
16
  var _logger = _interopRequireDefault(require("./logger"));
17
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- // import 'express-async-errors';
20
-
21
19
  class ExpressService extends _service.default {
22
20
  server;
23
21
  mainRouter;
24
-
25
- //!Deve ser iniciado no cluster, pois no master causa erro de port bind
26
22
  async onServiceClusterInit() {
27
23
  await super.onServiceClusterInit();
28
- if (!this.mainRouter) throw new Error('Need router'); //!sem router
24
+ if (!this.mainRouter) throw new Error('Need router');
29
25
  }
30
26
  async onStartCluster() {
31
27
  await super.onStartCluster();
@@ -99,8 +95,6 @@ class ExpressService extends _service.default {
99
95
  res.contentType('application/json');
100
96
  next();
101
97
  }
102
-
103
- //* Handler errors
104
98
  handleNotFoud(req, res) {
105
99
  this.sendResponse({
106
100
  message: 'Endereço não encontrado',
@@ -19,7 +19,15 @@ declare class FileLibraryService extends Service {
19
19
  getCachedFileByTitle(title: string): FileCache;
20
20
  deleteFile(md5: string): Promise<boolean>;
21
21
  getFileMeta(md5: string): Promise<IMetaFile>;
22
+ /**
23
+ * Save a file to the library and register it in the cache
24
+ * @return MD5 hash of the saved file
25
+ */
22
26
  saveAndRegisterFile(filePath: string, temporary?: boolean): Promise<string>;
27
+ /**
28
+ * Save a file buffer to the library and register it in the cache
29
+ * @return MD5 hash of the saved file
30
+ */
23
31
  saveAndRegisterBuffer(buffer: Buffer, originalName: string, ext: string): Promise<string>;
24
32
  getMD5FromFile(filePath: string): Promise<string>;
25
33
  getMD5FromBuffer(buffer: Buffer): string;
@@ -1 +1 @@
1
- {"version":3,"file":"FileLibrary.d.ts","sourceRoot":"","sources":["../../../src/services/file/FileLibrary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAGzC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,cAAM,kBAAmB,SAAQ,OAAO;IACtC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEzB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,aAAa;IASb,OAAO;YAMN,WAAW;YA+BX,iBAAiB;IAyBxB,WAAW,CAAC,GAAG,EAAE,MAAM;IAOjB,UAAU,CAAC,GAAG,EAAE,MAAM;IAO5B,aAAa,CAAC,GAAG,EAAE,MAAM;IAOzB,oBAAoB,CAAC,KAAK,EAAE,MAAM;IAO5B,UAAU,CAAC,GAAG,EAAE,MAAM;IAWtB,WAAW,CAAC,GAAG,EAAE,MAAM;IAWvB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAQ;IAyCvD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IA2B7E,cAAc,CAAC,QAAQ,EAAE,MAAM;IAW/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,OAAO;CAGf;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"FileLibrary.d.ts","sourceRoot":"","sources":["../../../src/services/file/FileLibrary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAGzC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,cAAM,kBAAmB,SAAQ,OAAO;IACtC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEzB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,aAAa;IASb,OAAO;YAMN,WAAW;YA+BX,iBAAiB;IAyBxB,WAAW,CAAC,GAAG,EAAE,MAAM;IAOjB,UAAU,CAAC,GAAG,EAAE,MAAM;IAO5B,aAAa,CAAC,GAAG,EAAE,MAAM;IAOzB,oBAAoB,CAAC,KAAK,EAAE,MAAM;IAO5B,UAAU,CAAC,GAAG,EAAE,MAAM;IAWtB,WAAW,CAAC,GAAG,EAAE,MAAM;IAOpC;;;OAGG;IACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAQ;IAqCpE;;;OAGG;IACU,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IA2B7E,cAAc,CAAC,QAAQ,EAAE,MAAM;IAW/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,OAAO;CAGf;AAED,eAAe,kBAAkB,CAAC"}
@@ -35,7 +35,6 @@ class FileLibraryService extends _service.default {
35
35
  const files = await _fsExtra.default.readdir(this.path);
36
36
  this.log(`Carregando biblioteca de arquivos. Encontrados ${files.length} arquivos`, 'info');
37
37
  for (const file of files) {
38
- // apenas metadados
39
38
  if (!file.endsWith('.meta')) continue;
40
39
  const filePath = _path.default.join(this.path, file);
41
40
  const fileCache = new _FileCache.default(filePath);
@@ -66,7 +65,6 @@ class FileLibraryService extends _service.default {
66
65
  }
67
66
  const md5 = await this.getMD5FromFile(itemPath);
68
67
  if (md5 && !this.cache.has(md5)) {
69
- //! este move o arquivo, não é preciso excluir o original
70
68
  await this.saveAndRegisterFile(itemPath);
71
69
  } else {
72
70
  await _fsExtra.default.unlink(itemPath);
@@ -7,9 +7,21 @@ declare class MimeType {
7
7
  typeToExtensions: Map<string, Set<string>>;
8
8
  constructor(...args: TypeMap[]);
9
9
  define(typeMap: TypeMap, force?: boolean): this;
10
+ /**
11
+ * Get mime type associated with an extension
12
+ */
10
13
  getType(path: string): string;
14
+ /**
15
+ * Get extension associated with a filepath
16
+ */
11
17
  getFileExtension(path: string): string;
18
+ /**
19
+ * Get default file extension associated with a mime type
20
+ */
12
21
  getExtension(type: string): string;
22
+ /**
23
+ * Get all file extensions associated with a mime type
24
+ */
13
25
  getAllExtensions(type: string): Set<string>;
14
26
  _freeze(): this;
15
27
  _getTestState(): {
@@ -1 +1 @@
1
- {"version":3,"file":"Mimetyp.d.ts","sourceRoot":"","sources":["../../../../src/services/file/classes/Mimetyp.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3C,cAAM,QAAQ;IACZ,eAAe,sBAA6B;IAC5C,eAAe,sBAA6B;IAC5C,gBAAgB,2BAAkC;gBAEtC,GAAG,IAAI,EAAE,OAAO,EAAE;IAMvB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,UAAQ;IA8CtC,OAAO,CAAC,IAAI,EAAE,MAAM;IAqBpB,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAe7B,YAAY,CAAC,IAAI,EAAE,MAAM;IAYzB,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAUpC,OAAO;IAgBP,aAAa;;;;CAMd;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Mimetyp.d.ts","sourceRoot":"","sources":["../../../../src/services/file/classes/Mimetyp.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3C,cAAM,QAAQ;IACZ,eAAe,sBAA6B;IAC5C,eAAe,sBAA6B;IAC5C,gBAAgB,2BAAkC;gBAEtC,GAAG,IAAI,EAAE,OAAO,EAAE;IAMvB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,UAAQ;IA2C7C;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IAkB3B;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAYpC;;OAEG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM;IAShC;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAUpC,OAAO;IAgBP,aAAa;;;;CAMd;AAED,eAAe,QAAQ,CAAC"}
@@ -15,7 +15,6 @@ class MimeType {
15
15
  }
16
16
  define(typeMap, force = false) {
17
17
  for (let [type, extensions] of Object.entries(typeMap)) {
18
- // Lowercase thingz
19
18
  type = type.toLowerCase();
20
19
  extensions = extensions.map(ext => ext.toLowerCase());
21
20
  if (!this.typeToExtensions.has(type)) {
@@ -26,19 +25,12 @@ class MimeType {
26
25
  for (let extension of extensions) {
27
26
  const starred = extension.startsWith('*');
28
27
  extension = starred ? extension.slice(1) : extension;
29
-
30
- // Add to list of extensions for the type
31
28
  allExtensions?.add(extension);
32
29
  if (first) {
33
- // Map type to default extension (first in list)
34
30
  this.typeToExtension.set(type, extension);
35
31
  }
36
32
  first = false;
37
-
38
- // Starred types are not eligible to be the default extension
39
33
  if (starred) continue;
40
-
41
- // Map extension to type
42
34
  const currentType = this.extensionToType.get(extension);
43
35
  if (currentType && currentType != type && !force) {
44
36
  throw new Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);
@@ -48,63 +40,30 @@ class MimeType {
48
40
  }
49
41
  return this;
50
42
  }
51
-
52
- /**
53
- * Get mime type associated with an extension
54
- */
55
43
  getType(path) {
56
44
  if (typeof path !== 'string') return null;
57
-
58
- // Remove chars preceeding `/` or `\`
59
45
  const last = path.replace(/^.*[/\\]/, '').toLowerCase();
60
-
61
- // Remove chars preceeding '.'
62
46
  const ext = last.replace(/^.*\./, '').toLowerCase();
63
47
  const hasPath = last.length < path.length;
64
48
  const hasDot = ext.length < last.length - 1;
65
-
66
- // Extension-less file?
67
49
  if (!hasDot && hasPath) return null;
68
50
  return this.extensionToType.get(ext) ?? null;
69
51
  }
70
-
71
- /**
72
- * Get extension associated with a filepath
73
- */
74
52
  getFileExtension(path) {
75
53
  if (typeof path !== 'string') return null;
76
-
77
- // Remove chars preceeding `/` or `\`
78
54
  const last = path.replace(/^.*[/\\]/, '').toLowerCase();
79
-
80
- // Remove chars preceeding '.'
81
55
  const ext = last.replace(/^.*\./, '').toLowerCase();
82
56
  return ext;
83
57
  }
84
-
85
- /**
86
- * Get default file extension associated with a mime type
87
- */
88
58
  getExtension(type) {
89
59
  if (typeof type !== 'string') return null;
90
-
91
- // Remove http header parameter(s) (specifically, charset)
92
60
  type = type?.split?.(';')[0];
93
61
  return (type && this.typeToExtension.get(type.trim().toLowerCase())) ?? null;
94
62
  }
95
-
96
- /**
97
- * Get all file extensions associated with a mime type
98
- */
99
63
  getAllExtensions(type) {
100
64
  if (typeof type !== 'string') return null;
101
65
  return this.typeToExtensions.get(type.toLowerCase()) ?? null;
102
66
  }
103
-
104
- //
105
- // Private API, for internal use only. These APIs may change at any time
106
- //
107
-
108
67
  _freeze() {
109
68
  this.define = () => {
110
69
  throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');
@@ -748,7 +748,6 @@ const MimeStandardTypes = exports.MimeStandardTypes = {
748
748
  'application/mmt-usd+xml': ['musd'],
749
749
  'application/mods+xml': ['mods'],
750
750
  'application/mp21': ['m21', 'mp21'],
751
- /* 'application/mp4': ['mp4', 'mpg4', 'mp4s', 'm4p'], */
752
751
  'application/msix': ['msix'],
753
752
  'application/msixbundle': ['msixbundle'],
754
753
  'application/msword': ['doc', 'dot'],
@@ -86,7 +86,6 @@ class LoggerService extends _managed.default {
86
86
  targets.push({
87
87
  level: _core.default.settings.getLogger().level,
88
88
  target: 'pino-pretty',
89
- // human-readable
90
89
  options: {
91
90
  colorize: true
92
91
  }
@@ -110,8 +109,6 @@ class LoggerService extends _managed.default {
110
109
  async compressLogFolder(date) {
111
110
  const folderPath = _path.default.resolve(_core.default.settings.getLogger().path, date);
112
111
  const outputPath = _path.default.resolve(_core.default.settings.getLogger().path, 'backups', `${date}.zip`);
113
-
114
- // Verifica se a pasta existe
115
112
  if (!(await (0, _util.promisify)(fs.stat)(folderPath))) {
116
113
  throw new Error(`A pasta de logs não foi encontrada: ${folderPath}`);
117
114
  }
@@ -140,8 +137,6 @@ class LoggerService extends _managed.default {
140
137
  const datePath = _path.default.join(_core.default.settings.getLogger().path, dateFolder);
141
138
  const stats = await (0, _promises.stat)(datePath);
142
139
  const isDir = stats.isDirectory();
143
-
144
- // Ignora se não for pasta ou se for a pasta do dia
145
140
  if (!isDir || dateFolder === 'backups' || dateFolder === (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy')) continue;
146
141
  try {
147
142
  await this.compressLogFolder(dateFolder);
@@ -1,6 +1,13 @@
1
1
  import client, { Channel, Connection } from 'amqplib';
2
2
  import Service from '../app/classes/service';
3
3
  import { TMessageQueueDataMap, TMessagingQueueEventList, TMessagingQueueHandler } from '../contracts';
4
+ /**
5
+ * Serviço de Mensageria
6
+ *
7
+ * @class RabbitMQService
8
+ * @extends {Service}
9
+ * @implements {IService}
10
+ */
4
11
  declare class RabbitMQService extends Service {
5
12
  connection: Connection;
6
13
  channel: Channel;
@@ -18,7 +25,26 @@ declare class RabbitMQService extends Service {
18
25
  connect(): Promise<boolean>;
19
26
  registerHandles(): Promise<void>;
20
27
  private setupErrorHandles;
28
+ /**
29
+ * Envia uma mensagem para a fila especificada
30
+ * @template K
31
+ * @param {K} topic
32
+ * @param {TMessageQueueDataMap[K]} data
33
+ * @param {string} [transactionId]
34
+ * @memberof RabbitMQService
35
+ *
36
+ * @deprecated use publish
37
+ */
21
38
  sendToQueue<K extends keyof TMessageQueueDataMap>(topic: K, data: TMessageQueueDataMap[K], transactionId?: string): Promise<false | `${string}-${string}-${string}-${string}-${string}`>;
39
+ /**
40
+ * Publica uma mensagem em um tópico específico
41
+ *
42
+ * @template K
43
+ * @param {K} topic
44
+ * @param {TMessageQueueDataMap[K]} data
45
+ * @param {string} [transactionId]
46
+ * @memberof RabbitMQService
47
+ */
22
48
  publish<K extends keyof TMessageQueueDataMap>(topic: K, data: TMessageQueueDataMap[K], transactionId?: string): Promise<false | `${string}-${string}-${string}-${string}-${string}`>;
23
49
  consumeFromQueue(msg: client.ConsumeMessage): Promise<void>;
24
50
  handlerMessageAttempt(msg: client.ConsumeMessage): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAUtB,cAAM,eAAgB,SAAQ,OAAO;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,oBAAoB,CAA0D;IACtF,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,oBAAoB;IAepB,cAAc;IAMd,sBAAsB;IAMtB,WAAW;IAKX,OAAO;IA+BP,eAAe;IAM5B,OAAO,CAAC,iBAAiB;IAsBnB,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACpD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAclB,OAAO,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAqBlB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA4BjD,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IAiBhD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB;IAI/C,aAAa,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAY9B,cAAc,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAW7D,YAAY,CACjB,CAAC,SAAS,MAAM,oBAAoB,EACpC,CAAC,SAAS,MAAM,oBAAoB,EACpC,IAAI,EAAE;QACN,IAAI,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;QAClD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC;YACT,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS,EAAE,MAAM,IAAI,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH;CAwBF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAGtB;;;;;;GAMG;AACH,cAAM,eAAgB,SAAQ,OAAO;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,oBAAoB,CAA0D;IACtF,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,oBAAoB;IAepB,cAAc;IAMd,sBAAsB;IAMtB,WAAW;IAKX,OAAO;IA+BP,eAAe;IAM5B,OAAO,CAAC,iBAAiB;IAYzB;;;;;;;;;OASG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACpD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAKxB;;;;;;;;OAQG;IACG,OAAO,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM;IAqBlB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA4BjD,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IAiBhD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,wBAAwB;IAI/C,aAAa,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAY9B,cAAc,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAW7D,YAAY,CACjB,CAAC,SAAS,MAAM,oBAAoB,EACpC,CAAC,SAAS,MAAM,oBAAoB,EACpC,IAAI,EAAE;QACN,IAAI,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC;YAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;QAClD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC;YACT,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS,EAAE,MAAM,IAAI,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH;CAwBF;AAED,eAAe,eAAe,CAAC"}