exodus-framework 2.0.895 → 2.0.897

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.
@@ -23,6 +23,8 @@ declare abstract class Service<D = any> extends Managed {
23
23
  onStartFail(): Promise<void>;
24
24
  onStartSuccessfully(): Promise<void>;
25
25
  onExodusStarted(): Promise<void>;
26
+ onExodusMasterStarted(): Promise<void>;
27
+ onExodusClusterStarted(): Promise<void>;
26
28
  protected sendToServiceCluster(clusterId: number, event: string, data: D): void;
27
29
  protected sendToServiceMaster(event: string, data: D): void;
28
30
  protected onServiceMasterReceived(_worker: Worker, _eventKey: string, _data: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/app/classes/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,KAAK,cAAc,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IACxD,QAAQ,CAAC,CAAC;CACX,CAAC;AAWF,uBAAe,OAAO,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,OAAO;IAC7C,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,IAAI,CAA6B;IACzC,SAAS,CAAC,iBAAiB,SAAQ;IACnC,SAAS,CAAC,gBAAgB,SAAK;IAC/B,SAAS,CAAC,oBAAoB,SAAK;;IAgBnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAEjC,CAAC;IAU3B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAY/C,aAAa;cAyBV,mBAAmB;cASnB,oBAAoB;IAYvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAW3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAGjC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAQlC,cAAc;IAQd,WAAW;IAQX,mBAAmB;IASnB,eAAe;IAW5B,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAYxE,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAapD,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAWhF,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAWzD,aAAa,IAAI,OAAO;IAIxB,eAAe;CAGvB;AACD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/app/classes/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,KAAK,cAAc,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IACxD,QAAQ,CAAC,CAAC;CACX,CAAC;AAWF,uBAAe,OAAO,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,OAAO;IAC7C,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,IAAI,CAA6B;IACzC,SAAS,CAAC,iBAAiB,SAAQ;IACnC,SAAS,CAAC,gBAAgB,SAAK;IAC/B,SAAS,CAAC,oBAAoB,SAAK;;IAgBnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAEjC,CAAC;IAU3B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAY/C,aAAa;cAyBV,mBAAmB;cASnB,oBAAoB;IAYvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAW3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAGjC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAQlC,cAAc;IAQd,WAAW;IAQX,mBAAmB;IASnB,eAAe;IAcf,qBAAqB;IAMrB,sBAAsB;IAWnC,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAYxE,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAapD,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAWhF,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAWzD,aAAa,IAAI,OAAO;IAIxB,eAAe;CAGvB;AACD,eAAe,OAAO,CAAC"}
@@ -129,7 +129,7 @@ class Service extends _managed.default {
129
129
  * @memberof Service
130
130
  */
131
131
  async onStartFail() {
132
- this.log(`Erro on init this service.`, 'danger');
132
+ // this.log(`Erro on init this service.`, 'danger');
133
133
  }
134
134
  /**
135
135
  * Quando o serviço inicializar com sucesso
@@ -145,7 +145,26 @@ class Service extends _managed.default {
145
145
  *
146
146
  * @memberof Service
147
147
  */
148
- async onExodusStarted() {}
148
+ async onExodusStarted() {
149
+ if (this.isMaster()) {
150
+ await this.onExodusMasterStarted();
151
+ }
152
+ if (this.isCluster()) {
153
+ await this.onExodusClusterStarted();
154
+ }
155
+ }
156
+ /**
157
+ * Mesmo que onExodusStarted mas no master
158
+ *
159
+ * @memberof Service
160
+ */
161
+ async onExodusMasterStarted() {}
162
+ /**
163
+ * Mesmo que onExodusStarted mas no cluster
164
+ *
165
+ * @memberof Service
166
+ */
167
+ async onExodusClusterStarted() {}
149
168
 
150
169
  /**
151
170
  * Enviar dados para a instância deste serviço no cluster
@@ -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;IAgBlB,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;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"}
package/lib/app/exodus.js CHANGED
@@ -29,12 +29,17 @@ class Exodus extends _managed.default {
29
29
  if (this.isMaster()) {
30
30
  this.log(`Iniciando em Master ${process.pid}`);
31
31
  if (await this.initServices()) {
32
+ await Promise.all(this.services.map(async s => {
33
+ !s.isStartFailed() && (await s.onExodusStarted());
34
+ }));
32
35
  this.createClusters();
33
36
  }
34
37
  }
35
38
  if (this.isCluster()) {
36
39
  this.log(`Iniciando em Cluster ${this.getWorkId()}`);
37
- await this.initServices();
40
+ if (await this.initServices()) {
41
+ this.services.forEach(s => s.onExodusStarted());
42
+ }
38
43
  }
39
44
  }
40
45
 
@@ -5,7 +5,9 @@ import { THttpResponse } from '../contracts/http';
5
5
  declare class ExpressService extends Service {
6
6
  private server;
7
7
  private mainRouter;
8
+ onServiceClusterInit(): Promise<void>;
8
9
  onStartCluster(): Promise<boolean>;
10
+ onExodusClusterStarted(): Promise<void>;
9
11
  getHttpServer(): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
10
12
  sendResponse(objResponse: THttpResponse, res: Response, next?: NextFunction): void;
11
13
  responseTypeMiddleware(req: Request, res: Response, next: NextFunction): void;
@@ -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;AAGlE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAM,cAAe,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAGd,cAAc;IA0B3B,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY;IAiC3E,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,2BAA2B,QACpB,GAAG,OACH,OAAO,OACP,QAAQ,KAEV,YAAY,mBAoBf;IAEI,YAAY,CAAC,MAAM,EAAE,MAAM;IAyBjC,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;AAGlE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,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;IAoBd,sBAAsB;IAS5B,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY;IAiC3E,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,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"}
@@ -24,37 +24,41 @@ class ExpressService extends _service.default {
24
24
  mainRouter;
25
25
 
26
26
  //!Deve ser iniciado no cluster, pois no master causa erro de port bind
27
+ async onServiceClusterInit() {
28
+ await super.onServiceClusterInit();
29
+ if (!this.mainRouter) throw new Error('Need router'); //!sem router
30
+ }
27
31
  async onStartCluster() {
28
- return new Promise(resolve => {
29
- if (!this.mainRouter) throw new Error('Need router'); //!sem router
30
-
31
- const expss = (0, _express.default)();
32
- this.server = http.createServer(expss);
33
- expss.use('/public', _express.default.static(_core.default.settings.getHttp().publicPath));
34
- expss.use((0, _expressRequestsLogger.default)({
35
- logger: (0, _logger.default)()
36
- }));
37
- expss.set('query parser', str => _qs.default.parse(str));
38
- expss.use(this.responseTypeMiddleware.bind(this));
39
- expss.use(_express.default.json({
40
- limit: '10mb'
41
- }));
42
- expss.use(_express.default.urlencoded({
43
- extended: true,
44
- limit: '10mb'
45
- }));
46
- expss.use((0, _cors.default)({
47
- origin: '*'
48
- }));
49
- expss.use(this.mainRouter);
50
- expss.use(this.handleAuthorizationFailure.bind(this));
51
- expss.use(this.handleNotFoud.bind(this));
52
- expss.use(this.handleRequestProcessFailure.bind(this));
53
- this.server.listen(_core.default.settings.getAppication().port, () => {
54
- (0, _logger.default)().info(`servidor iniciado na porta: ${_core.default.settings.getAppication().port}`);
55
- this.log(`🌍 Http Server Listering On: ${_core.default.settings.getAppication().port}`, 'success');
56
- resolve(true);
57
- });
32
+ await super.onStartCluster();
33
+ const expss = (0, _express.default)();
34
+ this.server = http.createServer(expss);
35
+ expss.use('/public', _express.default.static(_core.default.settings.getHttp().publicPath));
36
+ expss.use((0, _expressRequestsLogger.default)({
37
+ logger: (0, _logger.default)()
38
+ }));
39
+ expss.set('query parser', str => _qs.default.parse(str));
40
+ expss.use(this.responseTypeMiddleware.bind(this));
41
+ expss.use(_express.default.json({
42
+ limit: '10mb'
43
+ }));
44
+ expss.use(_express.default.urlencoded({
45
+ extended: true,
46
+ limit: '10mb'
47
+ }));
48
+ expss.use((0, _cors.default)({
49
+ origin: '*'
50
+ }));
51
+ expss.use(this.mainRouter);
52
+ expss.use(this.handleAuthorizationFailure.bind(this));
53
+ expss.use(this.handleNotFoud.bind(this));
54
+ expss.use(this.handleRequestProcessFailure.bind(this));
55
+ return true;
56
+ }
57
+ async onExodusClusterStarted() {
58
+ await super.onExodusClusterStarted();
59
+ this.server.listen(_core.default.settings.getAppication().port, () => {
60
+ (0, _logger.default)().info(`servidor iniciado na porta: ${_core.default.settings.getAppication().port}`);
61
+ this.log(`🌍 Http Server Listering On: ${_core.default.settings.getAppication().port}`, 'success');
58
62
  });
59
63
  }
60
64
  getHttpServer() {
@@ -96,7 +100,7 @@ class ExpressService extends _service.default {
96
100
  next();
97
101
  }
98
102
 
99
- //* Handlers
103
+ //* Handler errors
100
104
  handleNotFoud(req, res) {
101
105
  this.sendResponse({
102
106
  message: 'Endereço não encontrado',
@@ -12,6 +12,7 @@ declare class RabbitMQService extends Service {
12
12
  private isConnected;
13
13
  onServiceClusterInit(): Promise<void>;
14
14
  onStartCluster(): Promise<boolean>;
15
+ onExodusClusterStarted(): Promise<void>;
15
16
  onStartFail(): Promise<void>;
16
17
  connect(): Promise<boolean>;
17
18
  registerHandles(): Promise<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;IAEtF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEtB,oBAAoB;IAab,cAAc;IAId,WAAW;IAIX,OAAO;IA+BP,eAAe;IAQ5B,OAAO,CAAC,iBAAiB;IAYnB,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAoBzF,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA2BjD,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;CAkBF;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;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;IAEtF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAEf,oBAAoB;IAcpB,cAAc;IAMd,sBAAsB;IAMtB,WAAW;IAKX,OAAO;IA+BP,eAAe;IAM5B,OAAO,CAAC,iBAAiB;IAYnB,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAoBzF,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA2BjD,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;CAkBF;AAED,eAAe,eAAe,CAAC"}
@@ -29,6 +29,7 @@ class RabbitMQService extends _service.default {
29
29
  isConnected = false; // Flag para controlar o estado da conexão
30
30
 
31
31
  async onServiceClusterInit() {
32
+ await super.onServiceClusterInit();
32
33
  if (!this.mainRouter) throw new Error('Need router'); //!sem router
33
34
 
34
35
  //Start params
@@ -43,9 +44,17 @@ class RabbitMQService extends _service.default {
43
44
  }; // # Register native router
44
45
  }
45
46
  async onStartCluster() {
47
+ await super.onStartCluster();
46
48
  return this.connect();
47
49
  }
50
+ async onExodusClusterStarted() {
51
+ await super.onExodusClusterStarted();
52
+ await this.channel.consume(this.queueName, this.consumeFromQueue.bind(this), {
53
+ noAck: false
54
+ });
55
+ }
48
56
  async onStartFail() {
57
+ await super.onStartFail();
49
58
  this.log(`Not possible to connect RabitMQ`, 'danger');
50
59
  }
51
60
  async connect() {
@@ -80,9 +89,6 @@ class RabbitMQService extends _service.default {
80
89
  for (const topic of Object.keys(this.mainRouter)) {
81
90
  await this.channel.bindQueue(this.queueName, this.exchangeName, topic);
82
91
  }
83
- await this.channel.consume(this.queueName, this.consumeFromQueue.bind(this), {
84
- noAck: false
85
- });
86
92
  }
87
93
  setupErrorHandles() {
88
94
  this.channel.on('error', err => {
@@ -9,6 +9,7 @@ declare class SequelizeService extends Service {
9
9
  models: StaticServiceModel<any>[];
10
10
  connections: Map<string, Sequelize>;
11
11
  initializedModels: Map<string, ModelStatic<any>>;
12
+ initializingdModels: Map<string, boolean>;
12
13
  relations: Map<string, EnvDBHost>;
13
14
  private isReconnecting;
14
15
  private isMasterConnected;
@@ -36,6 +37,7 @@ declare class SequelizeService extends Service {
36
37
  getRelation(tenantId: string): Promise<EnvDBHost>;
37
38
  getModel<M extends ServiceModel<Model>>(model: StaticServiceModel<M>, tenantId: string): Promise<ModelStatic<M>>;
38
39
  static registerModels(models: StaticServiceModel<any>[]): void;
40
+ initModels(): Promise<void>;
39
41
  }
40
42
  export default SequelizeService;
41
43
  //# sourceMappingURL=sequelize.d.ts.map
@@ -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;AAKpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAUlD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,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,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;IAMP,WAAW;IAMlB,gBAAgB;IA+BhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IActB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA6BvC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAqBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA6BvB,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;QACzB,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;IA4BK,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAC1C,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAW1B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE;CAGxD;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;AAKpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAUlD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,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;IAkBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IA+BhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAe7B,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;IA6BvB,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"}
@@ -26,6 +26,7 @@ class SequelizeService extends _service.default {
26
26
  models;
27
27
  connections;
28
28
  initializedModels;
29
+ initializingdModels;
29
30
  relations;
30
31
  isReconnecting = false; // Flag para evitar múltiplas tentativas simultâneas de reconexão
31
32
  isMasterConnected = false; // Flag para controlar o estado da conexão
@@ -39,6 +40,7 @@ class SequelizeService extends _service.default {
39
40
  this.masterDB = _database.masterDB;
40
41
  this.connections = new Map();
41
42
  this.initializedModels = new Map();
43
+ this.initializingdModels = new Map();
42
44
  this.relations = new Map();
43
45
  this.models = [...this.models, ..._models.NativeModels];
44
46
  this.startAttemptDelay = 5 * 1000;
@@ -46,7 +48,13 @@ class SequelizeService extends _service.default {
46
48
  }
47
49
  async onStart() {
48
50
  await super.onStart();
49
- return this.connectDatabases();
51
+ if (await this.connectDatabases()) {
52
+ this.log(`⌛️ Inicializando models`);
53
+ await this.initModels();
54
+ this.log(`✅ Models inicializados`);
55
+ return true;
56
+ }
57
+ return false;
50
58
  }
51
59
  async onStartFail() {
52
60
  await super.onStartFail();
@@ -303,5 +311,13 @@ class SequelizeService extends _service.default {
303
311
  static registerModels(models) {
304
312
  this.getService().models = models;
305
313
  }
314
+ async initModels() {
315
+ const tenants = await _models.EnvDBHost.findAll({
316
+ attributes: ['envUuid']
317
+ });
318
+ for (const model of this.models) {
319
+ tenants.forEach(async t => await this.getModel(model, t.envUuid));
320
+ }
321
+ }
306
322
  }
307
323
  var _default = exports.default = SequelizeService;
@@ -10,7 +10,7 @@ declare class SocketIOService extends Service {
10
10
  private eventhandlers;
11
11
  private clientHandlers;
12
12
  onServiceClusterInit(): Promise<void>;
13
- onStartCluster(): Promise<boolean>;
13
+ onExodusClusterStarted(): Promise<void>;
14
14
  private onConnection;
15
15
  private bindEvents;
16
16
  createSocket(app: HttpServer, cors?: CorsOptions | CorsOptionsDelegate): void;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/services/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAMpE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAUtE,cAAM,eAAgB,SAAQ,OAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAE/C,oBAAoB;IAMpB,cAAc;YAiBb,YAAY;IAsC1B,OAAO,CAAC,UAAU;IAgCX,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,WAAW,GAAG,mBAAqC;IAM9F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;IAIlD,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,mBAAmB,CAAC,EAAE;YAIxD,gBAAgB;CAY/B;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/services/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAMpE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAUtE,cAAM,eAAgB,SAAQ,OAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAE/C,oBAAoB;IAOpB,sBAAsB;YAcrB,YAAY;IAsC1B,OAAO,CAAC,UAAU;IAgCX,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,WAAW,GAAG,mBAAqC;IAM9F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;IAIlD,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,mBAAmB,CAAC,EAAE;YAIxD,gBAAgB;CAY/B;AAED,eAAe,eAAe,CAAC"}
@@ -26,21 +26,21 @@ class SocketIOService extends _service.default {
26
26
  clientHandlers = [];
27
27
  async onServiceClusterInit() {
28
28
  await super.onServiceClusterInit();
29
+ if (!this.mainRouter) throw new Error('Need router'); //!sem router
30
+
29
31
  this.eventhandlers = new Map();
30
32
  }
31
- async onStartCluster() {
32
- await super.onStartCluster();
33
- if (!this.mainRouter) throw new Error('Need router'); //!sem router
33
+ async onExodusClusterStarted() {
34
+ await super.onExodusClusterStarted();
35
+ //! este depende de ExpressService para iniciar, por isso está aqui
34
36
 
35
37
  try {
36
38
  this.createSocket(_express.default.getService().getHttpServer());
37
39
  await this.registerHandlers();
38
40
  this.server.on('connection', this.onConnection.bind(this));
39
41
  this.log('✅ Socket server created');
40
- return true;
41
42
  } catch (error) {
42
43
  (0, _utils.logger)().error(error, `Not connected to SocketIO`);
43
- return false;
44
44
  }
45
45
  }
46
46
  async onConnection(socket) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.0.895",
3
+ "version": "2.0.897",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",