exodus-framework 2.0.9976 → 2.0.9978

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 (44) hide show
  1. package/lib/app/classes/event.d.ts +3 -0
  2. package/lib/app/classes/event.d.ts.map +1 -1
  3. package/lib/app/classes/event.js +7 -0
  4. package/lib/app/error.js +5 -5
  5. package/lib/app/exodus.d.ts +2 -0
  6. package/lib/app/exodus.d.ts.map +1 -1
  7. package/lib/app/exodus.js +8 -1
  8. package/lib/app/settings.d.ts +1 -1
  9. package/lib/app/settings.js +1 -1
  10. package/lib/contracts/log.d.ts +4 -0
  11. package/lib/contracts/log.d.ts.map +1 -0
  12. package/lib/contracts/log.js +5 -0
  13. package/lib/controllers/messaging/application.d.ts.map +1 -1
  14. package/lib/controllers/messaging/application.js +2 -2
  15. package/lib/controllers/messaging/database.js +3 -2
  16. package/lib/controllers/messaging/environment.js +4 -3
  17. package/lib/services/database.d.ts.map +1 -1
  18. package/lib/services/database.js +27 -5
  19. package/lib/services/express.d.ts.map +1 -1
  20. package/lib/services/express.js +3 -3
  21. package/lib/services/file.js +3 -3
  22. package/lib/services/file_new.js +3 -3
  23. package/lib/services/log.d.ts +3 -10
  24. package/lib/services/log.d.ts.map +1 -1
  25. package/lib/services/log.js +3 -3
  26. package/lib/services/logger.d.ts +13 -0
  27. package/lib/services/logger.d.ts.map +1 -0
  28. package/lib/services/logger.js +165 -0
  29. package/lib/services/rabitmq.js +2 -2
  30. package/lib/services/redis.js +2 -2
  31. package/lib/services/sequelize.d.ts.map +1 -1
  32. package/lib/services/sequelize.js +3 -3
  33. package/lib/services/socket.js +2 -2
  34. package/lib/tasks/queue/environment.js +4 -3
  35. package/lib/utils/index.d.ts +0 -1
  36. package/lib/utils/index.d.ts.map +1 -1
  37. package/lib/utils/index.js +1 -9
  38. package/lib/utils/logger-transport.d.ts +8 -0
  39. package/lib/utils/logger-transport.d.ts.map +1 -0
  40. package/lib/utils/logger-transport.js +53 -0
  41. package/lib/utils/logger.d.ts +1 -4
  42. package/lib/utils/logger.d.ts.map +1 -1
  43. package/lib/utils/logger.js +2 -94
  44. package/package.json +3 -3
@@ -2,12 +2,14 @@ import { Worker } from 'cluster';
2
2
  import System from './system';
3
3
  import { TClusterBroadCastMessage } from '../../contracts/core';
4
4
  type cbExit = (code: number, worker: Worker, signal: string) => void;
5
+ type cbStart = () => void;
5
6
  type cbProcessExit = (code: number) => void;
6
7
  type cbSignal = (signal: NodeJS.Signals) => void;
7
8
  type cbException = (err: Error) => void;
8
9
  type cbRejection = (reason: unknown, promise: Promise<unknown>) => void;
9
10
  type cbMessage = (message: TClusterBroadCastMessage) => void;
10
11
  declare class ProcessEmitterManager extends System {
12
+ private static workerStartHandles;
11
13
  private static workerExitHandles;
12
14
  private static clusterExitHandles;
13
15
  private static processSIGINTHandles;
@@ -16,6 +18,7 @@ declare class ProcessEmitterManager extends System {
16
18
  private static processRejectionHandles;
17
19
  private static processExitHandles;
18
20
  private static processMessageHandles;
21
+ static registerWorkerStartHandle(handle: cbStart): void;
19
22
  static registerWorkerExitHandle(handle: cbExit): void;
20
23
  static registerClusterExitHandle(handle: cbExit): void;
21
24
  static registerProcessSIGINTHandle(handle: cbSignal): void;
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/app/classes/event.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAC5C,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AACjD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AACxC,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACxE,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAQ7D,cAAM,qBAAsB,SAAQ,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgB;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAgB;IACjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAkB;IACrD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAkB;IACtD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAmB;IAEvD,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAG9C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM;IAG/C,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ;IAGnD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IAGpD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa;IAGtD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS;IAIrD,MAAM,CAAC,KAAK;CAmDb;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/app/classes/event.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,KAAK,OAAO,GAAG,MAAM,IAAI,CAAC;AAC1B,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAC5C,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AACjD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AACxC,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACxE,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAQ7D,cAAM,qBAAsB,SAAQ,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgB;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAgB;IACjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAkB;IACrD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAkB;IACtD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAmB;IAEvD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO;IAGhD,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAG9C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM;IAG/C,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ;IAGnD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IAGpD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa;IAGtD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS;IAIrD,MAAM,CAAC,KAAK;CAuDb;AAED,eAAe,qBAAqB,CAAC"}
@@ -14,6 +14,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
14
14
  * @extends {System}
15
15
  */
16
16
  class ProcessEmitterManager extends _system.default {
17
+ static workerStartHandles = [];
17
18
  static workerExitHandles = [];
18
19
  static clusterExitHandles = [];
19
20
  static processSIGINTHandles = [];
@@ -22,6 +23,9 @@ class ProcessEmitterManager extends _system.default {
22
23
  static processRejectionHandles = [];
23
24
  static processExitHandles = [];
24
25
  static processMessageHandles = [];
26
+ static registerWorkerStartHandle(handle) {
27
+ this.workerStartHandles.push(handle);
28
+ }
25
29
  static registerWorkerExitHandle(handle) {
26
30
  this.workerExitHandles.push(handle);
27
31
  }
@@ -47,6 +51,9 @@ class ProcessEmitterManager extends _system.default {
47
51
  this.processMessageHandles.push(handle);
48
52
  }
49
53
  static Start() {
54
+ for (const cb of this.workerStartHandles) {
55
+ if (cb) cb();
56
+ }
50
57
  _cluster.default.on('fork', worker => {
51
58
  worker.on('exit', (code, signal) => {
52
59
  for (const cb of this.workerExitHandles) {
package/lib/app/error.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.HttpError = exports.ErrorHandler = void 0;
7
7
  var _contracts = require("../contracts");
8
- var _utils = require("../utils");
8
+ var _logger = _interopRequireDefault(require("../services/logger"));
9
9
  var _managed = _interopRequireDefault(require("./classes/managed"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  class ErrorHandler extends _managed.default {
@@ -25,7 +25,7 @@ class ErrorHandler extends _managed.default {
25
25
  register() {
26
26
  const message = this.caller && this.caller != 'L' ? `[${this.caller}]->${this.message}` : this.message;
27
27
  this.log(`${message}`, 'danger');
28
- (0, _utils.logger)().error(this.error, this.message);
28
+ // LoggerService.logger().error(this.error, this.message);
29
29
  }
30
30
  getCallerClassName() {
31
31
  const err = new Error();
@@ -58,9 +58,9 @@ class HttpError extends _managed.default {
58
58
  this.handle();
59
59
  }
60
60
  handle() {
61
- (0, _utils.logger)().warn(this.message, this.statusCode);
62
- (0, _utils.logger)().warn(this.data);
63
- this.error && (0, _utils.logger)().error(this.error, this.message);
61
+ _logger.default.logger().warn(this.message, this.statusCode);
62
+ _logger.default.logger().warn(this.data);
63
+ this.error && _logger.default.logger().error(this.error, this.message);
64
64
  }
65
65
  }
66
66
  exports.HttpError = HttpError;
@@ -3,12 +3,14 @@ import Managed from './classes/managed';
3
3
  import CoreSettings from './settings';
4
4
  declare class Exodus extends Managed {
5
5
  private services;
6
+ static startedAt: Date;
6
7
  constructor(settings: CoreSettings);
7
8
  start(): Promise<void>;
8
9
  private createClusters;
9
10
  register(service: typeof Service): void;
10
11
  private initServices;
11
12
  private startService;
13
+ static getStartedAt(): Date;
12
14
  }
13
15
  export default Exodus;
14
16
  //# sourceMappingURL=exodus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exodus.d.ts","sourceRoot":"","sources":["../../src/app/exodus.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,OAAO,YAAY,MAAM,YAAY,CAAC;AAUtC,cAAM,MAAO,SAAQ,OAAO;IAC1B,OAAO,CAAC,QAAQ,CAAY;gBAEhB,QAAQ,EAAE,YAAY;IAOrB,KAAK;IAwBlB,OAAO,CAAC,cAAc;IAef,QAAQ,CAAC,OAAO,EAAE,OAAO,OAAO;YAGzB,YAAY;YAiBZ,YAAY;CAoB3B;AACD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"exodus.d.ts","sourceRoot":"","sources":["../../src/app/exodus.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,GAAG,CAAC;AAG1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,OAAO,YAAY,MAAM,YAAY,CAAC;AAStC,cAAM,MAAO,SAAQ,OAAO;IAC1B,OAAO,CAAC,QAAQ,CAAY;IAC5B,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;gBAEX,QAAQ,EAAE,YAAY;IAUrB,KAAK;IAwBlB,OAAO,CAAC,cAAc;IAef,QAAQ,CAAC,OAAO,EAAE,OAAO,OAAO;YAGzB,YAAY;YAiBZ,YAAY;IAqB1B,MAAM,CAAC,YAAY,IAAI,IAAI;CAG5B;AACD,eAAe,MAAM,CAAC"}
package/lib/app/exodus.js CHANGED
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _cluster = _interopRequireDefault(require("cluster"));
8
8
  var _ = require(".");
9
+ var _logger = _interopRequireDefault(require("../services/logger"));
10
+ var _event = _interopRequireDefault(require("./classes/event"));
9
11
  var _managed = _interopRequireDefault(require("./classes/managed"));
10
12
  var _core = _interopRequireDefault(require("./core"));
11
- var _event = _interopRequireDefault(require("./classes/event"));
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  /**
14
15
  * Classe da aplicação principal
@@ -19,8 +20,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
19
20
  */
20
21
  class Exodus extends _managed.default {
21
22
  services;
23
+ static startedAt;
22
24
  constructor(settings) {
23
25
  super();
26
+ Exodus.startedAt = new Date();
27
+ new _logger.default();
24
28
  _core.default.setSettings(settings);
25
29
  this.services = [];
26
30
  }
@@ -93,5 +97,8 @@ class Exodus extends _managed.default {
93
97
  await new Promise(resolve => setTimeout(() => resolve(true), service.getAttemptDelay()));
94
98
  }
95
99
  }
100
+ static getStartedAt() {
101
+ return Exodus.startedAt;
102
+ }
96
103
  }
97
104
  var _default = exports.default = Exodus;
@@ -17,7 +17,7 @@ declare class CoreSettings {
17
17
  getCache(): TCacheSettings;
18
18
  getDatabase(): TdatabaseSettings;
19
19
  getHttp(): THttpSettings;
20
- getLogger(): Tlogger;
20
+ getlogger(): Tlogger;
21
21
  getMessaging(): TmessagingSettings;
22
22
  }
23
23
  export default CoreSettings;
@@ -152,7 +152,7 @@ class CoreSettings {
152
152
  getHttp() {
153
153
  return this.settings.http;
154
154
  }
155
- getLogger() {
155
+ getlogger() {
156
156
  return this.settings.logger;
157
157
  }
158
158
  getMessaging() {
@@ -0,0 +1,4 @@
1
+ import { CreateOptions } from 'sequelize';
2
+ import { Log } from '../models';
3
+ export type DBLogData = Omit<CreateOptions<Log>, 'happenedAt'>;
4
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/contracts/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/controllers/messaging/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,cAAM,qBAAsB,SAAQ,mBAAmB;IACrD,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAWjE;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAa/D;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAYhE;IAEF,IAAI,EAAE,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,CAsB3D;CACH;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/controllers/messaging/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,cAAM,qBAAsB,SAAQ,mBAAmB;IACrD,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAWjE;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAa/D;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAYhE;IAEF,IAAI,EAAE,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,CAyB3D;CACH;AAED,eAAe,qBAAqB,CAAC"}
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _controller = require("../../app/controller");
8
8
  var _error = require("../../app/error");
9
9
  var _Application = require("../../models/Application");
10
- var _logger = _interopRequireDefault(require("../../utils/logger"));
10
+ var _logger = _interopRequireDefault(require("../../services/logger"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  //TODO: a ordem de inicialização do sistema impede as tasks estarem disponiveis até o momento
13
13
  //TODO: deveria ser assim?
@@ -55,7 +55,7 @@ class ApplicationController extends _controller.MessagingController {
55
55
  try {
56
56
  const host = await _Application.Application.findByPk(app.uuid);
57
57
  if (!host) {
58
- (0, _logger.default)().info(app, `Sincronizando nova integração do banco de dados ${app.name}`);
58
+ _logger.default.logger().info(app, `Sincronizando nova integração do banco de dados ${app.name}`);
59
59
  this.log(`Sincronizando nova integração do banco de dados ${app.name}`, 'info');
60
60
  // ApplicationSyncQueue.addJob({ create: app });
61
61
 
@@ -7,7 +7,8 @@ exports.default = void 0;
7
7
  var _controller = require("../../app/controller");
8
8
  var _models = require("../../models");
9
9
  var _app = require("../../app");
10
- var _utils = require("../../utils");
10
+ var _logger = _interopRequireDefault(require("../../services/logger"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  class DatabaseController extends _controller.MessagingController {
12
13
  created = async (data, ack) => {
13
14
  try {
@@ -46,7 +47,7 @@ class DatabaseController extends _controller.MessagingController {
46
47
  try {
47
48
  const host = await _models.DatabaseHost.findByPk(database.uuid);
48
49
  if (!host) {
49
- (0, _utils.logger)().info(database, `Sincronizando novo host ${database.host}`);
50
+ _logger.default.logger().info(database, `Sincronizando novo host ${database.host}`);
50
51
  this.log(`Sincronizando novo host ${database.host}`, 'info');
51
52
  await _models.DatabaseHost.create(database);
52
53
  }
@@ -7,7 +7,8 @@ exports.default = void 0;
7
7
  var _app = require("../../app");
8
8
  var _models = require("../../models");
9
9
  var _services = require("../../services");
10
- var _utils = require("../../utils");
10
+ var _logger = _interopRequireDefault(require("../../services/logger"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  //TODO: a ordem de inicialização do sistema impede as tasks estarem disponiveis até o momento
12
13
  //TODO: deveria ser assim?
13
14
  class EnvironmentController extends _app.MessagingController {
@@ -84,7 +85,7 @@ class EnvironmentController extends _app.MessagingController {
84
85
  }
85
86
  });
86
87
  if (!host) {
87
- (0, _utils.logger)().info(env, `Sincronizando relação env-db ${env.uuid}`);
88
+ _logger.default.logger().info(env, `Sincronizando relação env-db ${env.uuid}`);
88
89
  this.log(`Sincronizando relação env-db ${env.uuid}`, 'info');
89
90
  await _models.EnvDBHost.create({
90
91
  envUuid: env.uuid,
@@ -93,7 +94,7 @@ class EnvironmentController extends _app.MessagingController {
93
94
  });
94
95
  }
95
96
  if (!(await _services.DatabaseService.getService().hasDB(env.database, env.envToken))) {
96
- (0, _utils.logger)().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
97
+ _logger.default.logger().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
97
98
  this.log(`Sincronizando novo banco de dados ${env.uuid}`, 'info');
98
99
  await _services.DatabaseService.getService().createDB(env.database, env.envToken);
99
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,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;AAOpD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAAyB;IAE/B,aAAa;IAWb,OAAO;IAiBP,WAAW;YAMV,cAAc;IA6Cf,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;IAO9B,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,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;IA2BrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAkBlC,sBAAsB,CAAC,UAAU,EAAE,SAAS;IAa5C,mBAAmB,CAAC,UAAU,EAAE,SAAS;IAczC,mBAAmB;CAgBjC;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;IAkBP,WAAW;YAMV,cAAc;IA6Cf,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;IAO9B,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,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;IA2BrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAwBlC,sBAAsB,CAAC,UAAU,EAAE,SAAS;IAmB5C,mBAAmB,CAAC,UAAU,EAAE,SAAS;IAmBzC,mBAAmB;CAgBjC;AAED,eAAe,eAAe,CAAC"}
@@ -4,14 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _fs = require("fs");
8
+ var _path = _interopRequireDefault(require("path"));
7
9
  var _sequelize = require("sequelize");
10
+ var _umzug = require("umzug");
8
11
  var _app = require("../app");
9
12
  var _models = require("../models");
10
13
  var _utils = require("../utils");
14
+ var _logger = _interopRequireDefault(require("./logger"));
11
15
  var _security = _interopRequireDefault(require("./security"));
12
- var _umzug = require("umzug");
13
- var _path = _interopRequireDefault(require("path"));
14
- var _fs = require("fs");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  class DatabaseService extends _app.Service {
17
18
  entities;
@@ -32,11 +33,12 @@ class DatabaseService extends _app.Service {
32
33
  await _utils.mainDb.sync({
33
34
  alter: true
34
35
  });
35
- await this.migrateMainEntities();
36
+ await this.migrateMainEntities(); // migrar atualizações do serviço
37
+ await this.migrateServiceEntities(_utils.mainDb); //migrar atualizações do tenant para o serviço principal (este ainda é usado como serviço/tenant para supersu)
36
38
  this.log('✅ Connected service database sucessfully', 'success');
37
39
  return true;
38
40
  } catch (error) {
39
- (0, _utils.logger)().error(error, `Not connected Sequelize to database`);
41
+ _logger.default.logger().error(error, `Not connected Sequelize to database`);
40
42
  return false;
41
43
  }
42
44
  }
@@ -232,6 +234,13 @@ class DatabaseService extends _app.Service {
232
234
  return false;
233
235
  }
234
236
  }
237
+
238
+ /**
239
+ * Usado para acionar migrações especificas do tenant
240
+ *
241
+ * @param {Sequelize} connection
242
+ * @memberof DatabaseService
243
+ */
235
244
  async migrateServiceEntities(connection) {
236
245
  const umzung = new _umzug.Umzug({
237
246
  migrations: {
@@ -245,6 +254,13 @@ class DatabaseService extends _app.Service {
245
254
  });
246
255
  await umzung.up();
247
256
  }
257
+
258
+ /**
259
+ * Usado para acionar migrações especificas do core
260
+ *
261
+ * @param {Sequelize} connection
262
+ * @memberof DatabaseService
263
+ */
248
264
  async migrateCoreEntities(connection) {
249
265
  const migrations = _path.default.resolve(__dirname, '../models/migrations');
250
266
  const umzung = new _umzug.Umzug({
@@ -259,6 +275,12 @@ class DatabaseService extends _app.Service {
259
275
  });
260
276
  await umzung.up();
261
277
  }
278
+
279
+ /**
280
+ * Usado para acionar migrações especificas do serviço
281
+ *
282
+ * @memberof DatabaseService
283
+ */
262
284
  async migrateMainEntities() {
263
285
  const path = `${_app.Core.settings.getDatabase().migrationsPath}/main`;
264
286
  (0, _fs.mkdirSync)(path, {
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/services/express.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAG7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAM,cAAe,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAGd,oBAAoB;IAIpB,cAAc;IAqBd,sBAAsB;IAS5B,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY;IAkC3E,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAMtE,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;IAWzC,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAUtF,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAWlF,2BAA2B,QAC3B,GAAG,OACH,OAAO,OACP,QAAQ,KAEV,YAAY,mBAoBf;IAEW,YAAY,CAAC,MAAM,EAAE,MAAM;IAyBxC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;CAGrC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/services/express.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAG7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAM,cAAe,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAGd,oBAAoB;IAIpB,cAAc;IAqBd,sBAAsB;IAW5B,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY;IAkC3E,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAMtE,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;IAWzC,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAUtF,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAWlF,2BAA2B,QAC3B,GAAG,OACH,OAAO,OACP,QAAQ,KAEV,YAAY,mBAoBf;IAEW,YAAY,CAAC,MAAM,EAAE,MAAM;IAyBxC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;CAGrC;AAED,eAAe,cAAc,CAAC"}
@@ -13,7 +13,7 @@ var _service = _interopRequireDefault(require("../app/classes/service"));
13
13
  var _core = _interopRequireDefault(require("../app/core"));
14
14
  var _error = require("../app/error");
15
15
  var _http2 = require("../contracts/http");
16
- var _logger = _interopRequireDefault(require("../utils/logger"));
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
19
  // import 'express-async-errors';
@@ -33,7 +33,7 @@ class ExpressService extends _service.default {
33
33
  this.server = http.createServer(expss);
34
34
  expss.use('/public', _express.default.static(_core.default.settings.getHttp().publicPath));
35
35
  expss.use((0, _pinoHttp.pinoHttp)({
36
- logger: (0, _logger.default)()
36
+ logger: _logger.default.logger()
37
37
  }));
38
38
  expss.set('query parser', str => _qs.default.parse(str));
39
39
  expss.use(this.responseTypeMiddleware.bind(this));
@@ -57,7 +57,7 @@ class ExpressService extends _service.default {
57
57
  async onExodusClusterStarted() {
58
58
  await super.onExodusClusterStarted();
59
59
  this.server.listen(_core.default.settings.getAppication().port, () => {
60
- (0, _logger.default)().info(`servidor iniciado na porta: ${_core.default.settings.getAppication().port}`);
60
+ _logger.default.logger().info(`servidor iniciado na porta: ${_core.default.settings.getAppication().port}`);
61
61
  this.log(`🌍 Http Server Listering On: ${_core.default.settings.getAppication().port}`, 'success');
62
62
  });
63
63
  }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _service = _interopRequireDefault(require("../app/classes/service"));
8
- var _logger = _interopRequireDefault(require("../utils/logger"));
8
+ var _logger = _interopRequireDefault(require("./logger"));
9
9
  var _fs = _interopRequireWildcard(require("fs"));
10
10
  var fs = _fs;
11
11
  var fsPromisses = _interopRequireWildcard(require("fs/promises"));
@@ -38,7 +38,7 @@ class FileService extends _service.default {
38
38
  const p = _app.Core.settings.getAppication().filePaths.temporary + '/' + filename;
39
39
  const d = _app.Core.settings.getAppication().filePaths[destiny] + '/' + filename;
40
40
  return await fsPromisses.rename(p, d).then(() => d).catch(e => {
41
- (0, _logger.default)().error({
41
+ _logger.default.logger().error({
42
42
  filename,
43
43
  destiny,
44
44
  erro: e
@@ -49,7 +49,7 @@ class FileService extends _service.default {
49
49
  async delete(filename, destiny) {
50
50
  const d = _app.Core.settings.getAppication().filePaths[destiny] + '/' + filename;
51
51
  return await fsPromisses.unlink(d).then(() => true).catch(e => {
52
- (0, _logger.default)().error({
52
+ _logger.default.logger().error({
53
53
  filename,
54
54
  destiny,
55
55
  erro: e
@@ -5,7 +5,7 @@
5
5
  // import { Core, ErrorHandler } from '../app';
6
6
  // import Service from '../app/classes/service';
7
7
  // import { TFilePathSettings } from '../contracts/settings';
8
- // import logger from '../utils/logger';
8
+ // import LoggerService from './logger';
9
9
 
10
10
  // class FileService extends Service {
11
11
  // protected cache: NodeCache;
@@ -42,7 +42,7 @@
42
42
  // .unlink(d)
43
43
  // .then(() => true)
44
44
  // .catch((e) => {
45
- // logger().error({ filename, destiny, erro: e }, 'Não foi possível deletar o arquivo');
45
+ // LoggerService.logger().error({ filename, destiny, erro: e }, 'Não foi possível deletar o arquivo');
46
46
  // return false;
47
47
  // });
48
48
  // }
@@ -51,7 +51,7 @@
51
51
  // .rename(to, from)
52
52
  // .then((d) => d)
53
53
  // .catch((e) => {
54
- // logger().error({ to, from, erro: e }, 'Não foi possível mover o arquivo');
54
+ // LoggerService.logger().error({ to, from, erro: e }, 'Não foi possível mover o arquivo');
55
55
  // return false;
56
56
  // });
57
57
  // }
@@ -1,13 +1,6 @@
1
- import { Service } from '../app';
2
- declare class LogService extends Service {
3
- register(tenantId: string, data: {
4
- origin: string;
5
- action: string;
6
- category: string;
7
- comments?: string;
8
- data?: Record<string, any>;
9
- params?: Record<string, any>;
10
- }): Promise<boolean>;
1
+ import { DBLogData } from '../contracts/log';
2
+ declare class LogService {
3
+ register(tenantId: string, data: DBLogData): Promise<boolean>;
11
4
  }
12
5
  export default LogService;
13
6
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/services/log.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,QAAQ,CAAC;AAI/C,cAAM,UAAW,SAAQ,OAAO;IACxB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B;CAeJ;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/services/log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,cAAM,UAAU;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;CAcxD;AAED,eAAe,UAAU,CAAC"}
@@ -9,11 +9,11 @@ var _app = require("../app");
9
9
  var _Log = require("../models/Log");
10
10
  var _database = _interopRequireDefault(require("./database"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- class LogService extends _app.Service {
12
+ class LogService {
13
13
  async register(tenantId, data) {
14
14
  try {
15
- const Entity = await _database.default.getService().getEntity(_Log.Log, tenantId);
16
- await Entity.create({
15
+ const eLog = await _database.default.getService().getEntity(_Log.Log, tenantId);
16
+ await eLog.create({
17
17
  ...data,
18
18
  happenedAt: (0, _dateFns.format)(new Date(), 'yyyy-MM-dd HH:mm:ss')
19
19
  });
@@ -0,0 +1,13 @@
1
+ import { Logger } from 'pino';
2
+ import Managed from '../app/classes/managed';
3
+ declare class LoggerService extends Managed {
4
+ private static loggerInstance;
5
+ onMasterInit(): Promise<void>;
6
+ private createlogger;
7
+ static logger(): Logger<never>;
8
+ private compressLogFolder;
9
+ private backupLogs;
10
+ private cleanBackupLogs;
11
+ }
12
+ export default LoggerService;
13
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAQ7C,cAAM,aAAc,SAAQ,OAAO;IACjC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAgB;IAEhC,YAAY;YAYX,YAAY;WA2DZ,MAAM;YAIN,iBAAiB;YA2BjB,UAAU;YAsBV,eAAe;CAoB9B;AACD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,165 @@
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 _path = _interopRequireDefault(require("path"));
9
+ var _pino = _interopRequireDefault(require("pino"));
10
+ var _managed = _interopRequireDefault(require("../app/classes/managed"));
11
+ var _core = _interopRequireDefault(require("../app/core"));
12
+ var _exodus = _interopRequireDefault(require("../app/exodus"));
13
+ var _archiver = _interopRequireDefault(require("archiver"));
14
+ var _promises = require("fs/promises");
15
+ var fs = _interopRequireWildcard(require("fs"));
16
+ var _util = require("util");
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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ class LoggerService extends _managed.default {
20
+ static loggerInstance;
21
+ async onMasterInit() {
22
+ super.onMasterInit();
23
+ if (!LoggerService.loggerInstance) {
24
+ this.createlogger();
25
+ }
26
+ await (0, _promises.mkdir)(_path.default.resolve(_core.default.settings.getlogger().path, 'backups'), {
27
+ recursive: true
28
+ });
29
+ await this.backupLogs();
30
+ await this.cleanBackupLogs();
31
+ }
32
+ async createlogger() {
33
+ const basePath = _path.default.resolve(_core.default.settings.getlogger().path, (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy'), (0, _dateFns.format)(_exodus.default.getStartedAt(), 'HH_mm'));
34
+ await (0, _promises.mkdir)(basePath, {
35
+ recursive: true
36
+ });
37
+ const isDev = process.argv.includes('--dev');
38
+ const targets = [{
39
+ level: 'info',
40
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
41
+ options: {
42
+ destination: _path.default.join(basePath, 'info.json'),
43
+ level: 'info'
44
+ }
45
+ }, {
46
+ level: 'error',
47
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
48
+ options: {
49
+ destination: _path.default.join(basePath, 'error.json'),
50
+ level: 'error'
51
+ }
52
+ }, {
53
+ level: 'debug',
54
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
55
+ options: {
56
+ destination: _path.default.join(basePath, 'debug.json'),
57
+ level: 'debug'
58
+ }
59
+ }, {
60
+ level: 'warn',
61
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
62
+ options: {
63
+ destination: _path.default.join(basePath, 'warn.json'),
64
+ level: 'warn'
65
+ }
66
+ }, {
67
+ level: 'fatal',
68
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
69
+ options: {
70
+ destination: _path.default.join(basePath, 'fatal.json'),
71
+ level: 'fatal'
72
+ }
73
+ }, {
74
+ level: 'trace',
75
+ target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
76
+ options: {
77
+ destination: _path.default.join(basePath, 'trace.json'),
78
+ level: 'trace'
79
+ }
80
+ }];
81
+ if (_core.default.settings.getlogger().console) {
82
+ targets.push({
83
+ level: _core.default.settings.getlogger().level,
84
+ target: 'pino-pretty',
85
+ // human-readable
86
+ options: {
87
+ colorize: true
88
+ }
89
+ });
90
+ }
91
+ LoggerService.loggerInstance = (0, _pino.default)({
92
+ level: _core.default.settings.getlogger().level,
93
+ timestamp: _pino.default.stdTimeFunctions.isoTime
94
+ }, _pino.default.transport({
95
+ targets
96
+ }));
97
+ }
98
+ static logger() {
99
+ return LoggerService.loggerInstance;
100
+ }
101
+ async compressLogFolder(date) {
102
+ const folderPath = _path.default.resolve(_core.default.settings.getlogger().path, date);
103
+ const outputPath = _path.default.resolve(_core.default.settings.getlogger().path, 'backups', `${date}.zip`);
104
+
105
+ // Verifica se a pasta existe
106
+ if (!(await (0, _util.promisify)(fs.stat)(folderPath))) {
107
+ throw new Error(`A pasta de logs não foi encontrada: ${folderPath}`);
108
+ }
109
+ return new Promise((resolve, reject) => {
110
+ const output = fs.createWriteStream(outputPath);
111
+ const archive = (0, _archiver.default)('zip', {
112
+ zlib: {
113
+ level: 9
114
+ }
115
+ });
116
+ output.on('close', () => {
117
+ resolve(outputPath);
118
+ });
119
+ archive.on('error', err => {
120
+ reject(err);
121
+ });
122
+ archive.pipe(output);
123
+ archive.directory(folderPath, false);
124
+ archive.finalize();
125
+ });
126
+ }
127
+ async backupLogs() {
128
+ const logs = await (0, _promises.readdir)(_core.default.settings.getlogger().path);
129
+ for (const dateFolder of logs) {
130
+ const datePath = _path.default.join(_core.default.settings.getlogger().path, dateFolder);
131
+ const stats = await (0, _promises.stat)(datePath);
132
+ const isDir = stats.isDirectory();
133
+
134
+ // Ignora se não for pasta ou se for a pasta do dia
135
+ if (!isDir || dateFolder === 'backups' || dateFolder === (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy')) continue;
136
+ await this.compressLogFolder(dateFolder);
137
+ this.log(`✅ ${dateFolder} → compactado`);
138
+ await (0, _promises.rm)(datePath, {
139
+ recursive: true,
140
+ force: true
141
+ });
142
+ }
143
+ }
144
+ async cleanBackupLogs() {
145
+ const backupPath = _path.default.join(_core.default.settings.getlogger().path, 'backups');
146
+ const backups = await (0, _promises.readdir)(backupPath);
147
+ for (const backup of backups) {
148
+ const backupFile = _path.default.join(backupPath, backup);
149
+ const stats = await (0, _promises.stat)(backupFile);
150
+ const isDir = stats.isDirectory();
151
+ const filename = backup.split('.')[0];
152
+ const [day, month, year] = filename.split('-').map(Number);
153
+ const backupDate = new Date(year, month - 1, day);
154
+ if (isDir || filename === (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy')) continue;
155
+ const threeMonthsAgo = (0, _dateFns.subMonths)(new Date(), 3);
156
+ if ((0, _dateFns.isBefore)(backupDate, threeMonthsAgo)) {
157
+ await (0, _promises.rm)(backupFile, {
158
+ force: true
159
+ });
160
+ this.log(`✅ ${backup} → removido`);
161
+ }
162
+ }
163
+ }
164
+ }
165
+ var _default = exports.default = LoggerService;
@@ -9,7 +9,7 @@ var _crypto = require("crypto");
9
9
  var _app = require("../app");
10
10
  var _service = _interopRequireDefault(require("../app/classes/service"));
11
11
  var _messaging = _interopRequireDefault(require("../routes/messaging"));
12
- var _utils = require("../utils");
12
+ var _logger = _interopRequireDefault(require("../services/logger"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  /**
15
15
  * Serviço de Mensageria
@@ -82,7 +82,7 @@ class RabbitMQService extends _service.default {
82
82
  this.log(`✅ Rabbit MQ Connection is ready`);
83
83
  return true;
84
84
  } catch (error) {
85
- (0, _utils.logger)().error(error, `Not connected to MQ Server`);
85
+ _logger.default.logger().error(error, `Not connected to MQ Server`);
86
86
  this.isReconnecting = false;
87
87
  return false;
88
88
  }
@@ -8,7 +8,7 @@ var _redis = require("redis");
8
8
  var _app = require("../app");
9
9
  var _service = _interopRequireDefault(require("../app/classes/service"));
10
10
  var _cache = require("../app/classes/cache");
11
- var _utils = require("../utils");
11
+ var _logger = _interopRequireDefault(require("../services/logger"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  /**
14
14
  * Serviço de cache
@@ -54,7 +54,7 @@ class RedisService extends _service.default {
54
54
  this.log(`✅ Redis Connection is ready`);
55
55
  return true;
56
56
  } catch (error) {
57
- (0, _utils.logger)().error(error, `Not connected to Redis Server`);
57
+ _logger.default.logger().error(error, `Not connected to Redis Server`);
58
58
  this.isReconnecting = false;
59
59
  return false;
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAalD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAGtB,aAAa;IAiBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IAyBhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAa7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA8BhC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA2BvB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAkBpE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAe/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2CpD,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;IA4BY,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;WAWZ,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE;IAGjD,UAAU;CAOxB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAalD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAGtB,aAAa;IAiBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IAyBhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAa7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA8BhC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA2BvB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAkBpE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAkB/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2CpD,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;IA4BY,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;WAWZ,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE;IAGjD,UAAU;CAOxB;AAED,eAAe,gBAAgB,CAAC"}
@@ -10,7 +10,7 @@ var _service = _interopRequireDefault(require("../app/classes/service"));
10
10
  var _models = require("../models");
11
11
  var _DatabaseHost = require("../models/DatabaseHost");
12
12
  var _database = require("../utils/database");
13
- var _logger = _interopRequireDefault(require("../utils/logger"));
13
+ var _logger = _interopRequireDefault(require("./logger"));
14
14
  var _security = _interopRequireDefault(require("./security"));
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -76,7 +76,7 @@ class SequelizeService extends _service.default {
76
76
  this.log('✅ All databases connecteds sucessfully', 'success');
77
77
  return true;
78
78
  } catch (error) {
79
- (0, _logger.default)().error(error, `Not connected Sequelize to database`);
79
+ _logger.default.logger().error(error, `Not connected Sequelize to database`);
80
80
  this.isReconnecting = false;
81
81
  return false;
82
82
  }
@@ -201,7 +201,7 @@ class SequelizeService extends _service.default {
201
201
  this.log('Database pronto', 'success');
202
202
  }).catch(reason => {
203
203
  this.log('Attemping to connect master database', 'warning');
204
- (0, _logger.default)().warn('Erro ao inicializar o banco de dados, tentando novamente...', reason);
204
+ _logger.default.logger().warn('Erro ao inicializar o banco de dados, tentando novamente...', reason);
205
205
  if (attempts > 0) {
206
206
  setTimeout(() => this.reconnect(db, attempts - 1), 5000);
207
207
  } else {
@@ -10,7 +10,7 @@ var _controller = require("../app/controller");
10
10
  var _core = require("../contracts/core");
11
11
  var _authentication = require("../middlewares/authentication");
12
12
  var _express = _interopRequireDefault(require("./express"));
13
- var _utils = require("../utils");
13
+ var _logger = _interopRequireDefault(require("../services/logger"));
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  /**
16
16
  * Serviço de gerênciamento de comunicação WS/WSS Socket
@@ -40,7 +40,7 @@ class SocketIOService extends _service.default {
40
40
  this.server.on('connection', this.onConnection.bind(this));
41
41
  this.log('✅ Socket server created');
42
42
  } catch (error) {
43
- (0, _utils.logger)().error(error, `Not connected to SocketIO`);
43
+ _logger.default.logger().error(error, `Not connected to SocketIO`);
44
44
  }
45
45
  }
46
46
  async onConnection(socket) {
@@ -9,7 +9,8 @@ var _core = require("../../contracts/core");
9
9
  var _models = require("../../models");
10
10
  var _services = require("../../services");
11
11
  var _queue = require("../../services/task/queue");
12
- var _utils = require("../../utils");
12
+ var _logger = _interopRequireDefault(require("../../services/logger"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  class EnvironmentSyncQueue extends _queue.QueueTask {
14
15
  getName() {
15
16
  return 'Environment Sync Queue';
@@ -69,7 +70,7 @@ class EnvironmentSyncQueue extends _queue.QueueTask {
69
70
  }
70
71
  });
71
72
  if (!host) {
72
- (0, _utils.logger)().info(env, `Sincronizando relação env-db ${env.uuid}`);
73
+ _logger.default.logger().info(env, `Sincronizando relação env-db ${env.uuid}`);
73
74
  this.log(`Sincronizando relação env-db ${env.uuid}`, 'info');
74
75
  await _models.EnvDBHost.create({
75
76
  envUuid: env.uuid,
@@ -78,7 +79,7 @@ class EnvironmentSyncQueue extends _queue.QueueTask {
78
79
  });
79
80
  }
80
81
  if (!(await _services.DatabaseService.getService().hasDB(env.database, env.envToken))) {
81
- (0, _utils.logger)().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
82
+ _logger.default.logger().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
82
83
  this.log(`Sincronizando novo banco de dados ${env.uuid}`, 'info');
83
84
  await _services.DatabaseService.getService().createDB(env.database, env.envToken);
84
85
  }
@@ -1,6 +1,5 @@
1
1
  export { default as Api } from './api';
2
2
  export * from './database';
3
3
  export * from './date';
4
- export { default as logger } from './logger';
5
4
  export * from './session';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AAEvB,cAAc,WAAW,CAAC"}
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- Api: true,
8
- logger: true
7
+ Api: true
9
8
  };
10
9
  Object.defineProperty(exports, "Api", {
11
10
  enumerable: true,
@@ -13,12 +12,6 @@ Object.defineProperty(exports, "Api", {
13
12
  return _api.default;
14
13
  }
15
14
  });
16
- Object.defineProperty(exports, "logger", {
17
- enumerable: true,
18
- get: function () {
19
- return _logger.default;
20
- }
21
- });
22
15
  var _api = _interopRequireDefault(require("./api"));
23
16
  var _database = require("./database");
24
17
  Object.keys(_database).forEach(function (key) {
@@ -44,7 +37,6 @@ Object.keys(_date).forEach(function (key) {
44
37
  }
45
38
  });
46
39
  });
47
- var _logger = _interopRequireDefault(require("./logger"));
48
40
  var _session = require("./session");
49
41
  Object.keys(_session).forEach(function (key) {
50
42
  if (key === "default" || key === "__esModule") return;
@@ -0,0 +1,8 @@
1
+ import { Writable } from 'stream';
2
+ interface Options {
3
+ destination: string;
4
+ level: string;
5
+ }
6
+ export default function (opts: Options): Writable;
7
+ export {};
8
+ //# sourceMappingURL=logger-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-transport.d.ts","sourceRoot":"","sources":["../../src/utils/logger-transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,UAAU,OAAO;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,EAAE,OAAO,YAuCrC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _fs = require("fs");
8
+ var _path = _interopRequireDefault(require("path"));
9
+ var _stream = require("stream");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _default(opts) {
12
+ // garante a pasta existir
13
+ const dir = _path.default.dirname(opts.destination);
14
+ (0, _fs.mkdirSync)(dir, {
15
+ recursive: true
16
+ });
17
+
18
+ // abre o arquivo em modo append
19
+ const stream = (0, _fs.createWriteStream)(opts.destination, {
20
+ flags: 'a'
21
+ });
22
+
23
+ // map dos níveis numéricos do pino
24
+ const levelMap = {
25
+ trace: 10,
26
+ debug: 20,
27
+ info: 30,
28
+ warn: 40,
29
+ error: 50,
30
+ fatal: 60
31
+ };
32
+ const onlyLevel = levelMap[opts.level];
33
+ return new _stream.Writable({
34
+ objectMode: true,
35
+ write(chunk, _enc, cb) {
36
+ chunk = JSON.parse(chunk);
37
+ try {
38
+ // só grava se exatamente o nível desejado
39
+ if (chunk.level === onlyLevel) {
40
+ stream.write(JSON.stringify(chunk) + '\n');
41
+ }
42
+ } catch (e) {
43
+ // não atrapalha o fluxo de log
44
+ console.error('custom-target write error', e);
45
+ } finally {
46
+ cb();
47
+ }
48
+ },
49
+ final(cb) {
50
+ stream.end(cb);
51
+ }
52
+ });
53
+ }
@@ -1,6 +1,3 @@
1
- import { Logger } from 'pino';
2
- declare const logger: () => Logger<never>;
3
- export declare function zipFolder(sourceDir: string, zipFilePath: string): Promise<void>;
4
- export declare function compressOldLogs(): void;
1
+ declare const logger: () => import("pino").Logger<never>;
5
2
  export default logger;
6
3
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAGA,OAAa,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAyDpC,QAAA,MAAM,MAAM,qBAMX,CAAC;AAOF,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCrF;AAED,wBAAgB,eAAe,SAW9B;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,oCAEX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -3,102 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.compressOldLogs = compressOldLogs;
7
6
  exports.default = void 0;
8
- exports.zipFolder = zipFolder;
9
- var _dateFns = require("date-fns");
10
- var _fs = require("fs");
11
- var _path = _interopRequireDefault(require("path"));
12
- var _pino = _interopRequireDefault(require("pino"));
13
- var _core = _interopRequireDefault(require("../app/core"));
14
- var _archiver = _interopRequireDefault(require("archiver"));
7
+ var _logger = _interopRequireDefault(require("../services/logger"));
15
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- let loggerInstance = null;
17
- const createLogger = () => {
18
- const basePath = _path.default.resolve(_core.default.settings.getLogger().path, (0, _dateFns.format)(new Date(), 'dd-MM-yyyy'), (0, _dateFns.format)(new Date(), 'HH_mm'));
19
- (0, _fs.mkdirSync)(basePath, {
20
- recursive: true
21
- });
22
- const streams = [{
23
- level: 'error',
24
- stream: (0, _fs.createWriteStream)(basePath + '/error' + _core.default.settings.getLogger().fileformat)
25
- }, {
26
- level: 'info',
27
- stream: (0, _fs.createWriteStream)(basePath + '/info' + _core.default.settings.getLogger().fileformat)
28
- }, {
29
- level: 'fatal',
30
- stream: (0, _fs.createWriteStream)(basePath + '/fatal' + _core.default.settings.getLogger().fileformat)
31
- }, {
32
- level: 'warn',
33
- stream: (0, _fs.createWriteStream)(basePath + '/warn' + _core.default.settings.getLogger().fileformat)
34
- }, {
35
- level: 'silent',
36
- stream: (0, _fs.createWriteStream)(basePath + '/silent' + _core.default.settings.getLogger().fileformat)
37
- }, {
38
- level: 'trace',
39
- stream: (0, _fs.createWriteStream)(basePath + '/trace' + _core.default.settings.getLogger().fileformat)
40
- }, {
41
- level: 'debug',
42
- stream: (0, _fs.createWriteStream)(basePath + '/debug' + _core.default.settings.getLogger().fileformat)
43
- }];
44
- _core.default.settings.getLogger().console ?? streams.push({
45
- stream: process.stdout
46
- });
47
- return (0, _pino.default)({
48
- level: _core.default.settings.getLogger().level,
49
- // Define o nível de log
50
- timestamp: _pino.default.stdTimeFunctions.isoTime
51
- }, _pino.default.multistream(streams));
52
- };
53
9
  const logger = () => {
54
- if (!loggerInstance) {
55
- loggerInstance = createLogger();
56
- }
57
- return loggerInstance;
10
+ return _logger.default.logger();
58
11
  };
59
-
60
- /**
61
- * Compacta uma pasta em um arquivo zip.
62
- * @param sourceDir Caminho da pasta a ser compactada.
63
- * @param zipFilePath Caminho de saída do arquivo zip.
64
- */
65
- async function zipFolder(sourceDir, zipFilePath) {
66
- return new Promise((resolve, reject) => {
67
- const output = (0, _fs.createWriteStream)(zipFilePath);
68
- const archive = (0, _archiver.default)('zip', {
69
- zlib: {
70
- level: 9
71
- } // nível de compressão
72
- });
73
- output.on('close', () => {
74
- console.log(`✔ Arquivo zip criado com sucesso: ${zipFilePath} (${archive.pointer()} bytes)`);
75
- resolve();
76
- });
77
- output.on('end', () => {
78
- console.log('🟡 Arquivo de saída foi fechado.');
79
- });
80
- archive.on('warning', err => {
81
- if (err.code === 'ENOENT') {
82
- console.warn('Aviso:', err);
83
- } else {
84
- reject(err);
85
- }
86
- });
87
- archive.on('error', err => {
88
- reject(err);
89
- });
90
- archive.pipe(output);
91
- archive.directory(sourceDir, false); // false = não inclui o caminho completo
92
- archive.finalize();
93
- });
94
- }
95
- function compressOldLogs() {
96
- const logDir = _core.default.settings.getLogger().path;
97
- const zipFilePath = _path.default.join(logDir, `logs-${(0, _dateFns.format)(new Date(), 'dd-MM-yyyy')}.zip`);
98
- zipFolder(logDir, zipFilePath).then(() => {
99
- logger().info(`✔ Logs antigos compactados em: ${zipFilePath}`);
100
- }).catch(err => {
101
- logger().error('❌ Erro ao compactar logs antigos:', err);
102
- });
103
- }
104
12
  var _default = exports.default = logger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.0.9976",
3
+ "version": "2.0.9978",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",
@@ -14,7 +14,7 @@
14
14
  "build": "rimraf ./lib && npm run build:types && babel src --extensions \".js,.ts\" --out-dir lib --copy-files --no-copy-ignored",
15
15
  "build:types": "tsc --emitDeclarationOnly",
16
16
  "dev": "ts-node-dev -r tsconfig-paths/register --respawn --transpile-only --ignore-watch node_modules src/server.ts",
17
- "start": "node build/server.js",
17
+ "start": "node lib/server.js",
18
18
  "update": "npm run build && npm publish",
19
19
  "fix": "npm run fix:eslint && npm run fix:prettier",
20
20
  "fix:eslint": "eslint --fix \"**/*.ts\" ",
@@ -47,7 +47,7 @@
47
47
  "node-jose": "^2.2.0",
48
48
  "node-schedule": "^2.1.1",
49
49
  "npm": "^11.3.0",
50
- "pino": "^9.3.2",
50
+ "pino": "^9.6.0",
51
51
  "pino-http": "^10.2.0",
52
52
  "pino-multi-stream": "^6.0.0",
53
53
  "qs": "^6.13.0",