exodus-framework 2.1.1030 → 2.1.1032
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.
- package/lib/app/classes/broadcast.d.ts +6 -0
- package/lib/app/classes/broadcast.d.ts.map +1 -1
- package/lib/app/classes/broadcast.js +1 -3
- package/lib/app/classes/communication.d.ts +17 -0
- package/lib/app/classes/communication.d.ts.map +1 -1
- package/lib/app/classes/communication.js +0 -8
- package/lib/app/classes/event.d.ts +6 -0
- package/lib/app/classes/event.d.ts.map +1 -1
- package/lib/app/classes/managed.d.ts +7 -0
- package/lib/app/classes/managed.d.ts.map +1 -1
- package/lib/app/classes/managed.js +0 -20
- package/lib/app/classes/service.d.ts +126 -0
- package/lib/app/classes/service.d.ts.map +1 -1
- package/lib/app/classes/service.js +4 -9
- package/lib/app/classes/servicemodel.d.ts +7 -0
- package/lib/app/classes/servicemodel.d.ts.map +1 -1
- package/lib/app/classes/singleton.d.ts +9 -0
- package/lib/app/classes/singleton.d.ts.map +1 -1
- package/lib/app/classes/singleton.js +0 -1
- package/lib/app/classes/socket/clienthandler.js +0 -6
- package/lib/app/classes/socket/eventhandler.js +0 -6
- package/lib/app/classes/socket/ssehandler.d.ts +1 -1
- package/lib/app/classes/socket/ssehandler.d.ts.map +1 -1
- package/lib/app/classes/socket/ssehandler.js +35 -12
- package/lib/app/classes/system.d.ts +6 -0
- package/lib/app/classes/system.d.ts.map +1 -1
- package/lib/app/controller.d.ts +25 -0
- package/lib/app/controller.d.ts.map +1 -1
- package/lib/app/core.d.ts +9 -0
- package/lib/app/core.d.ts.map +1 -1
- package/lib/app/core.js +0 -6
- package/lib/app/error.js +0 -1
- package/lib/app/exodus.d.ts +7 -0
- package/lib/app/exodus.d.ts.map +1 -1
- package/lib/app/exodus.js +1 -30
- package/lib/app/settings.js +3 -14
- package/lib/contracts/communication/communication.js +4 -4
- package/lib/contracts/contansts.js +2 -2
- package/lib/contracts/core.js +1 -1
- package/lib/contracts/entity.js +2 -4
- package/lib/contracts/http.d.ts +17 -1
- package/lib/contracts/http.d.ts.map +1 -1
- package/lib/contracts/http.js +2 -2
- package/lib/contracts/messaging.d.ts +1 -1
- package/lib/contracts/messaging.d.ts.map +1 -1
- package/lib/contracts/messaging.js +2 -2
- package/lib/contracts/service.js +1 -1
- package/lib/contracts/socket.js +2 -2
- package/lib/controllers/api/file.js +0 -4
- package/lib/controllers/api/log.js +0 -1
- package/lib/controllers/api/report.js +0 -1
- package/lib/controllers/messaging/application.js +0 -10
- package/lib/controllers/messaging/environment.js +0 -11
- package/lib/middlewares/access.d.ts +6 -0
- package/lib/middlewares/access.d.ts.map +1 -1
- package/lib/middlewares/access.js +0 -5
- package/lib/middlewares/authentication.d.ts +7 -0
- package/lib/middlewares/authentication.d.ts.map +1 -1
- package/lib/middlewares/authentication.js +2 -5
- package/lib/middlewares/file.js +0 -1
- package/lib/routes/api/v1/logs.js +0 -7
- package/lib/routes/api/v1/report.js +0 -7
- package/lib/routes/api/v1/sse.js +2 -11
- package/lib/routes/messaging/index.js +0 -6
- package/lib/services/database.d.ts +17 -0
- package/lib/services/database.d.ts.map +1 -1
- package/lib/services/database.js +5 -19
- package/lib/services/express.js +1 -7
- package/lib/services/file/FileLibrary.d.ts +8 -0
- package/lib/services/file/FileLibrary.d.ts.map +1 -1
- package/lib/services/file/FileLibrary.js +0 -2
- package/lib/services/file/classes/Mimetyp.d.ts +12 -0
- package/lib/services/file/classes/Mimetyp.d.ts.map +1 -1
- package/lib/services/file/classes/Mimetyp.js +0 -41
- package/lib/services/file/constants/mimes.js +0 -1
- package/lib/services/logger.js +0 -5
- package/lib/services/rabitmq.d.ts +26 -0
- package/lib/services/rabitmq.d.ts.map +1 -1
- package/lib/services/rabitmq.js +7 -13
- package/lib/services/redis.d.ts +7 -0
- package/lib/services/redis.d.ts.map +1 -1
- package/lib/services/redis.js +2 -5
- package/lib/services/security.d.ts +52 -0
- package/lib/services/security.d.ts.map +1 -1
- package/lib/services/security.js +0 -3
- package/lib/services/sequelize.d.ts +8 -0
- package/lib/services/sequelize.d.ts.map +1 -1
- package/lib/services/sequelize.js +3 -16
- package/lib/services/socket.d.ts +7 -0
- package/lib/services/socket.d.ts.map +1 -1
- package/lib/services/socket.js +1 -4
- package/lib/services/task/queue/QueueService.js +0 -1
- package/lib/services/task/queue/QueueTask.js +0 -16
- package/lib/services/task/scheduler/SchedulerTask.d.ts +16 -0
- package/lib/services/task/scheduler/SchedulerTask.d.ts.map +1 -1
- package/lib/services/task/scheduler/SchedulerTask.js +0 -9
- package/lib/services/test.js +0 -2
- package/lib/tasks/queue/teste.js +0 -20
- package/lib/tasks/schedule/teste.js +0 -16
- package/lib/utils/api.d.ts +157 -0
- package/lib/utils/api.d.ts.map +1 -1
- package/lib/utils/api.js +0 -10
- package/lib/utils/database.js +0 -18
- package/lib/utils/logger-transport.js +0 -7
- package/lib/utils/phone.d.ts +171 -0
- package/lib/utils/phone.d.ts.map +1 -1
- package/lib/utils/phone.js +0 -27
- package/package.json +1 -1
@@ -1,6 +1,12 @@
|
|
1
1
|
import { Worker } from 'cluster';
|
2
2
|
import Managed from './managed';
|
3
3
|
import { TClusterBroadCastMessage } from '../../contracts/core';
|
4
|
+
/**
|
5
|
+
* Gerencia a comunicação entre clusters
|
6
|
+
*
|
7
|
+
* @class Broadcast
|
8
|
+
* @extends {Managed}
|
9
|
+
*/
|
4
10
|
declare class Broadcast extends Managed {
|
5
11
|
protected onMasterInit(): void;
|
6
12
|
protected onClusterInit(): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/app/classes/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/app/classes/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;;;GAKG;AACH,cAAM,SAAU,SAAQ,OAAO;IAC7B,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,aAAa,IAAI,IAAI;IAQ/B,OAAO,CAAC,oBAAoB;IAKrB,gBAAgB,CAAC,OAAO,EAAE,GAAG;IAU7B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAanE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAWtD,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB;IAGpF,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB;CAGrE;AAED,eAAe,SAAS,CAAC"}
|
@@ -4,6 +4,15 @@ import { TClusterBroadCastMessage } from '../../contracts/core';
|
|
4
4
|
import { Worker } from 'cluster';
|
5
5
|
import { eEventCommunication, TMappedEventCommunicationHandlers } from '../../contracts/service';
|
6
6
|
import System from './system';
|
7
|
+
/**
|
8
|
+
* Gerência a comunicação restrita à um ID/Classe (RPC?)
|
9
|
+
* ! Deve ser instanciada e não extendida
|
10
|
+
*
|
11
|
+
* @export
|
12
|
+
* @class RestrictEventCommunication
|
13
|
+
* @extends {Broadcast}
|
14
|
+
* @template TransportData
|
15
|
+
*/
|
7
16
|
export declare class RestrictEventCommunication<TransportData = any> extends Broadcast {
|
8
17
|
protected serviceName: string;
|
9
18
|
emitter: EventEmitter;
|
@@ -17,6 +26,14 @@ export declare class RestrictEventCommunication<TransportData = any> extends Bro
|
|
17
26
|
on<T extends eEventCommunication>(key: T, handle: TMappedEventCommunicationHandlers[T]): void;
|
18
27
|
off<T extends eEventCommunication>(key: T, handle: TMappedEventCommunicationHandlers[T]): void;
|
19
28
|
}
|
29
|
+
/**
|
30
|
+
* Classe base voltada para a comunicação com as instancias em outros clusters
|
31
|
+
*
|
32
|
+
* @export
|
33
|
+
* @class CommunicationContext
|
34
|
+
* @extends {System}
|
35
|
+
* @template D
|
36
|
+
*/
|
20
37
|
export declare class CommunicationContext<D = any> extends System {
|
21
38
|
private rECom;
|
22
39
|
constructor();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../src/app/classes/communication.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,MAAM,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../src/app/classes/communication.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B;;;;;;;;GAQG;AACH,qBAAa,0BAA0B,CAAC,aAAa,GAAG,GAAG,CAAE,SAAQ,SAAS;IAGhE,SAAS,CAAC,WAAW,EAAE,MAAM;IAFzC,OAAO,EAAE,YAAY,CAAC;gBAEA,WAAW,EAAE,MAAM;IAKlC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAI1E,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAM7D,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAMzF,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAQ1E,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAGvF,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAIjE,EAAE,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAC,CAAC;IAGtF,GAAG,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAC,CAAC;CAG/F;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,MAAM;IACvD,OAAO,CAAC,KAAK,CAA6B;;IAa1C,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAGjE,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAG7C,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAG9E,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAG/D;AAED,eAAe,0BAA0B,CAAC"}
|
@@ -33,8 +33,6 @@ class RestrictEventCommunication extends _broadcast.default {
|
|
33
33
|
const key = `${this.serviceName}_${event}`;
|
34
34
|
this.sendMessageToMaster(key, data);
|
35
35
|
}
|
36
|
-
|
37
|
-
//#Non Muted
|
38
36
|
onMasterReceiveMessage(worker, message) {
|
39
37
|
if (!message.eventKey.includes(this.serviceName)) return;
|
40
38
|
const key = message.eventKey.replace(this.serviceName + '_', '');
|
@@ -45,8 +43,6 @@ class RestrictEventCommunication extends _broadcast.default {
|
|
45
43
|
const key = message.eventKey.replace(this.serviceName + '_', '');
|
46
44
|
this.onServiceClusterReceived(key, message.data);
|
47
45
|
}
|
48
|
-
|
49
|
-
//# Muted
|
50
46
|
onServiceMasterReceived(worker, eventKey, data) {
|
51
47
|
this.emitter.emit(_service.eEventCommunication.RECEIVED_CLUSTER_MESSAGE, worker, eventKey, data);
|
52
48
|
}
|
@@ -75,13 +71,9 @@ class CommunicationContext extends _system.default {
|
|
75
71
|
constructor() {
|
76
72
|
super();
|
77
73
|
this.rECom = new RestrictEventCommunication(this.constructor.name);
|
78
|
-
|
79
|
-
/* Listen */
|
80
74
|
this.rECom.on(_service.eEventCommunication.RECEIVED_CLUSTER_MESSAGE, this.onMasterReceived.bind(this));
|
81
75
|
this.rECom.on(_service.eEventCommunication.RECEIVED_MASTER_MESSAGE, this.onClusterReceived.bind(this));
|
82
76
|
}
|
83
|
-
|
84
|
-
/* Communication */
|
85
77
|
sendToCluster(clusterId, event, data) {
|
86
78
|
this.rECom.sendMessageToCluster(clusterId, event, data);
|
87
79
|
}
|
@@ -8,6 +8,12 @@ type cbSignal = (signal: NodeJS.Signals) => void;
|
|
8
8
|
type cbException = (err: Error) => void;
|
9
9
|
type cbRejection = (reason: unknown, promise: Promise<unknown>) => void;
|
10
10
|
type cbMessage = (message: TClusterBroadCastMessage) => void;
|
11
|
+
/**
|
12
|
+
* Classe responsável pelo gerênciamento de escutas e eventos dos sistema ON/OFF
|
13
|
+
*
|
14
|
+
* @class ProcessEmitterManager
|
15
|
+
* @extends {System}
|
16
|
+
*/
|
11
17
|
declare class ProcessEmitterManager extends System {
|
12
18
|
private static workerStartHandles;
|
13
19
|
private static workerExitHandles;
|
@@ -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,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;
|
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;AAE7D;;;;;GAKG;AACH,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,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;IAGrD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IAIpD,MAAM,CAAC,KAAK;CA6Db;AAED,eAAe,qBAAqB,CAAC"}
|
@@ -1,5 +1,12 @@
|
|
1
1
|
import { Worker } from 'cluster';
|
2
2
|
import System from './system';
|
3
|
+
/**
|
4
|
+
* Disponibiliza ações de controle de clusters, incluindo comunicação básica
|
5
|
+
*
|
6
|
+
* @abstract
|
7
|
+
* @class Managed
|
8
|
+
* @extends {System}
|
9
|
+
*/
|
3
10
|
declare abstract class Managed extends System {
|
4
11
|
private _isMaster;
|
5
12
|
private _isCluster;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"managed.d.ts","sourceRoot":"","sources":["../../../src/app/classes/managed.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,MAAM,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"managed.d.ts","sourceRoot":"","sources":["../../../src/app/classes/managed.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B;;;;;;GAMG;AACH,uBAAe,OAAQ,SAAQ,MAAM;IACnC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAU;;IAS5B,OAAO,CAAC,wBAAwB;IAYhC,SAAS,CAAC,MAAM;IAYhB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,YAAY;IAOtB,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM;IAI9B,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;IACrC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;IACpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAGvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAI1C,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IACjD,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAGhD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAI3C,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAClD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAGjD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAI3C,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAClD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAGjD,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK;IAIzC,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK;IAChD,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK;IAG/C,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;IAI3E,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;IAClF,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;IAGjF,SAAS,CAAC,QAAQ;IAGlB,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,UAAU;IAGpB,SAAS,CAAC,SAAS;IAMnB,SAAS,CAAC,eAAe;CAG1B;AAED,eAAe,OAAO,CAAC"}
|
@@ -22,8 +22,6 @@ class Managed extends _system.default {
|
|
22
22
|
super();
|
23
23
|
this.onInit();
|
24
24
|
}
|
25
|
-
|
26
|
-
//# Common
|
27
25
|
bindProcessEventHandlers() {
|
28
26
|
_event.default.registerProcessSIGINTHandle(signal => this.onSIGINT(signal));
|
29
27
|
_event.default.registerProcessSIGTERMHandle(signal => this.onSIGTERM(signal));
|
@@ -32,8 +30,6 @@ class Managed extends _system.default {
|
|
32
30
|
_event.default.registerProcessExitHandle(code => this.onExit(code));
|
33
31
|
_event.default.registerProcessRejectionHandle((reason, promise) => this.onUnhandledRejection(reason, promise));
|
34
32
|
}
|
35
|
-
|
36
|
-
//# Init
|
37
33
|
onInit() {
|
38
34
|
if (_cluster.default.isPrimary) {
|
39
35
|
this._isMaster = true;
|
@@ -48,8 +44,6 @@ class Managed extends _system.default {
|
|
48
44
|
onMasterInit() {
|
49
45
|
_event.default.registerWorkerExitHandle((code, worker, signal) => this.onClusterDown(code, worker, signal));
|
50
46
|
}
|
51
|
-
|
52
|
-
//# Exit
|
53
47
|
onExit(_code) {
|
54
48
|
if (this.isMaster()) this.onMasterExit(_code);
|
55
49
|
if (this.isCluster()) this.onClusterExit(_code);
|
@@ -57,56 +51,42 @@ class Managed extends _system.default {
|
|
57
51
|
onClusterExit(_code) {}
|
58
52
|
onMasterExit(_code) {}
|
59
53
|
onClusterDown(_code, _worker, _signal) {}
|
60
|
-
|
61
|
-
//# SIGINT
|
62
54
|
onSIGINT(_signal) {
|
63
55
|
if (this.isMaster()) this.onMasterSIGINT(_signal);
|
64
56
|
if (this.isCluster()) this.onClusterSIGINT(_signal);
|
65
57
|
}
|
66
58
|
onClusterSIGINT(_signal) {}
|
67
59
|
onMasterSIGINT(_signal) {}
|
68
|
-
|
69
|
-
//# SIGTERM
|
70
60
|
onSIGTERM(_signal) {
|
71
61
|
if (this.isMaster()) this.onMasterSIGTERM(_signal);
|
72
62
|
if (this.isCluster()) this.onClusterSIGTERM(_signal);
|
73
63
|
}
|
74
64
|
onClusterSIGTERM(_signal) {}
|
75
65
|
onMasterSIGTERM(_signal) {}
|
76
|
-
|
77
|
-
//# SIGUSR2
|
78
66
|
onSIGUSR2(_signal) {
|
79
67
|
if (this.isMaster()) this.onMasterSIGUSR2(_signal);
|
80
68
|
if (this.isCluster()) this.onClusterSIGUSR2(_signal);
|
81
69
|
}
|
82
70
|
onClusterSIGUSR2(_signal) {}
|
83
71
|
onMasterSIGUSR2(_signal) {}
|
84
|
-
|
85
|
-
//# UNCAUGHT EXCEPTION
|
86
72
|
onUncaughtException(_err) {
|
87
73
|
if (this.isMaster()) this.onMasterUncaughtException(_err);
|
88
74
|
if (this.isCluster()) this.onClusterUncaughtException(_err);
|
89
75
|
}
|
90
76
|
onClusterUncaughtException(_err) {}
|
91
77
|
onMasterUncaughtException(_err) {}
|
92
|
-
|
93
|
-
//# UNHANDLED REJECTION
|
94
78
|
onUnhandledRejection(_reason, _promise) {
|
95
79
|
if (this.isMaster()) this.onMasterUnhandledRejection(_reason, _promise);
|
96
80
|
if (this.isCluster()) this.onClusterUnhandledRejection(_reason, _promise);
|
97
81
|
}
|
98
82
|
onClusterUnhandledRejection(_reason, _promise) {}
|
99
83
|
onMasterUnhandledRejection(_reason, _promise) {}
|
100
|
-
|
101
|
-
//# Utils
|
102
84
|
isMaster() {
|
103
85
|
return this._isMaster;
|
104
86
|
}
|
105
87
|
isCluster() {
|
106
88
|
return this._isCluster;
|
107
89
|
}
|
108
|
-
|
109
|
-
//# Getters
|
110
90
|
getWorkers() {
|
111
91
|
return _cluster.default.workers;
|
112
92
|
}
|
@@ -4,6 +4,16 @@ import Managed from './managed';
|
|
4
4
|
type TStaticService<S> = NonConstructor<typeof Service> & {
|
5
5
|
new (): S;
|
6
6
|
};
|
7
|
+
/**
|
8
|
+
* Classe base de Serviços
|
9
|
+
* Responsável por gerênciar métodos e funções utilizadas por todas
|
10
|
+
* as classes de serviço desta aplicação
|
11
|
+
*
|
12
|
+
* @abstract
|
13
|
+
* @class Service
|
14
|
+
* @extends {Managed}
|
15
|
+
* @template S
|
16
|
+
*/
|
7
17
|
declare abstract class Service<D = any> extends Managed {
|
8
18
|
static instance: Service;
|
9
19
|
private eCom;
|
@@ -11,24 +21,140 @@ declare abstract class Service<D = any> extends Managed {
|
|
11
21
|
protected maxStartAttempts: number;
|
12
22
|
protected currentStartAttempts: number;
|
13
23
|
constructor();
|
24
|
+
/**
|
25
|
+
* Mesmo que getService
|
26
|
+
*
|
27
|
+
* @deprecated Use getService
|
28
|
+
* @static
|
29
|
+
* @template S
|
30
|
+
* @param {TStaticService<S>} this
|
31
|
+
* @memberof Service
|
32
|
+
*/
|
14
33
|
static singleton<S extends Service>(this: TStaticService<S>): S;
|
34
|
+
/**
|
35
|
+
* Obtem a instância atual deste serviço
|
36
|
+
*
|
37
|
+
* @static
|
38
|
+
* @template S
|
39
|
+
* @param {TStaticService<S>} this
|
40
|
+
* @memberof Service
|
41
|
+
*/
|
15
42
|
static getService<S extends Service>(this: TStaticService<S>): S;
|
43
|
+
/**
|
44
|
+
* Chamado antes de onStart, serve como preparação para a inicialização do serviços
|
45
|
+
* pré fetchs e etc...
|
46
|
+
* Diferente de onStart, este é chamado apenas uma vez
|
47
|
+
*
|
48
|
+
* @public
|
49
|
+
* @memberof Service
|
50
|
+
*/
|
16
51
|
onServiceInit(): Promise<void>;
|
52
|
+
/**
|
53
|
+
* Mesmo que onServiceInit, mas do lado do master
|
54
|
+
*
|
55
|
+
* @protected
|
56
|
+
* @memberof Service
|
57
|
+
*/
|
17
58
|
protected onServiceMasterInit(): Promise<void>;
|
59
|
+
/**
|
60
|
+
* Mesmo que onServiceInit, mas do lado do cluster
|
61
|
+
*
|
62
|
+
* @protected
|
63
|
+
* @memberof Service
|
64
|
+
*/
|
18
65
|
protected onServiceClusterInit(): Promise<void>;
|
66
|
+
/**
|
67
|
+
* Inicia o procedimento de inicialização do seriviço
|
68
|
+
* usado para conexões, fetchs e etc...
|
69
|
+
*
|
70
|
+
* @return {*} {Promise<boolean>}
|
71
|
+
* @memberof Service
|
72
|
+
*/
|
19
73
|
onStart(): Promise<boolean>;
|
20
74
|
onStartMaster(): Promise<boolean>;
|
21
75
|
onStartCluster(): Promise<boolean>;
|
76
|
+
/**
|
77
|
+
* Quando uma nova tentativa de inicialização é executada
|
78
|
+
*
|
79
|
+
* @memberof Service
|
80
|
+
*/
|
22
81
|
onStartAttempt(): Promise<void>;
|
82
|
+
/**
|
83
|
+
* Executado quando a inicialização deste serviço falhar
|
84
|
+
*
|
85
|
+
* @memberof Service
|
86
|
+
*/
|
23
87
|
onStartFail(): Promise<void>;
|
88
|
+
/**
|
89
|
+
* Quando o serviço inicializar com sucesso
|
90
|
+
*
|
91
|
+
* @memberof Service
|
92
|
+
*/
|
24
93
|
onStartSuccessfully(): Promise<void>;
|
94
|
+
/**
|
95
|
+
* Quando todos os serviços foram carregados
|
96
|
+
* Pode ser usado para eliminar dados utilizados na inicialização
|
97
|
+
*
|
98
|
+
* @memberof Service
|
99
|
+
*/
|
25
100
|
onExodusStarted(): Promise<void>;
|
101
|
+
/**
|
102
|
+
* Mesmo que onExodusStarted mas no master
|
103
|
+
*
|
104
|
+
* @memberof Service
|
105
|
+
*/
|
26
106
|
onExodusMasterStarted(): Promise<void>;
|
107
|
+
/**
|
108
|
+
* Mesmo que onExodusStarted mas no cluster
|
109
|
+
*
|
110
|
+
* @memberof Service
|
111
|
+
*/
|
27
112
|
onExodusClusterStarted(): Promise<void>;
|
113
|
+
/**
|
114
|
+
* Enviar dados para a instância deste serviço no cluster
|
115
|
+
*
|
116
|
+
* @protected
|
117
|
+
* @param {number} clusterId
|
118
|
+
* @param {string} event
|
119
|
+
* @param {D} data
|
120
|
+
* @memberof Service
|
121
|
+
*/
|
28
122
|
protected sendToServiceCluster(clusterId: number, event: string, data: D): void;
|
123
|
+
/**
|
124
|
+
* Enviar dados para a instancia deste serviço no master
|
125
|
+
*
|
126
|
+
* @protected
|
127
|
+
* @param {string} event
|
128
|
+
* @param {D} data
|
129
|
+
* @memberof Service
|
130
|
+
*/
|
29
131
|
protected sendToServiceMaster(event: string, data: D): void;
|
132
|
+
/**
|
133
|
+
* Quando dados enviados do serviço no master para a instância no cluster
|
134
|
+
*
|
135
|
+
* @protected
|
136
|
+
* @param {Worker} _worker
|
137
|
+
* @param {string} _eventKey
|
138
|
+
* @param {*} _data
|
139
|
+
* @memberof Service
|
140
|
+
*/
|
30
141
|
protected onServiceMasterReceived(_worker: Worker, _eventKey: string, _data: any): void;
|
142
|
+
/**
|
143
|
+
* Quando dados enviados do serviço no cluster para a instância no master
|
144
|
+
*
|
145
|
+
* @protected
|
146
|
+
* @param {string} _eventKey
|
147
|
+
* @param {*} _data
|
148
|
+
* @memberof Service
|
149
|
+
*/
|
31
150
|
protected onServiceClusterReceived(_eventKey: string, _data: any): void;
|
151
|
+
/**
|
152
|
+
* Reporta a condição de inicialização falhou
|
153
|
+
* se verdadeiro, o Exodus irá cancelar a inicialização deste serviço e chamar onStartFail
|
154
|
+
*
|
155
|
+
* @return {*} {boolean}
|
156
|
+
* @memberof Service
|
157
|
+
*/
|
32
158
|
isStartFailed(): boolean;
|
33
159
|
getAttemptDelay(): number;
|
34
160
|
}
|
@@ -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;
|
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;AACF;;;;;;;;;GASG;AACH,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;;IAOnC;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAEjC,CAAC;IAE3B;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAI5D;;;;;;;OAOG;IACU,aAAa;IAmB1B;;;;;OAKG;cACa,mBAAmB;IAGnC;;;;;OAKG;cACa,oBAAoB;IAKpC;;;;;;OAMG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAW3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAGjC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAG/C;;;;OAIG;IACU,cAAc;IAG3B;;;;OAIG;IACU,WAAW;IAGxB;;;;OAIG;IACU,mBAAmB;IAGhC;;;;;OAKG;IACU,eAAe;IAS5B;;;;OAIG;IACU,qBAAqB;IAClC;;;;OAIG;IACU,sBAAsB;IAEnC;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAIxE;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAIpD;;;;;;;;OAQG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAGhF;;;;;;;OAOG;IACH,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIhE;;;;;;OAMG;IACI,aAAa,IAAI,OAAO;IAIxB,eAAe;CAGvB;AACD,eAAe,OAAO,CAAC"}
|
@@ -21,10 +21,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
21
21
|
class Service extends _managed.default {
|
22
22
|
static instance;
|
23
23
|
eCom;
|
24
|
-
startAttemptDelay = 1000;
|
25
|
-
maxStartAttempts = 3;
|
26
|
-
currentStartAttempts = 1;
|
27
|
-
|
24
|
+
startAttemptDelay = 1000;
|
25
|
+
maxStartAttempts = 3;
|
26
|
+
currentStartAttempts = 1;
|
28
27
|
constructor() {
|
29
28
|
super();
|
30
29
|
this.eCom = new _communication.default(this.constructor.name);
|
@@ -91,8 +90,6 @@ class Service extends _managed.default {
|
|
91
90
|
async onServiceClusterInit() {
|
92
91
|
return;
|
93
92
|
}
|
94
|
-
|
95
|
-
// !future
|
96
93
|
/**
|
97
94
|
* Inicia o procedimento de inicialização do seriviço
|
98
95
|
* usado para conexões, fetchs e etc...
|
@@ -128,9 +125,7 @@ class Service extends _managed.default {
|
|
128
125
|
*
|
129
126
|
* @memberof Service
|
130
127
|
*/
|
131
|
-
async onStartFail() {
|
132
|
-
// this.log(`Erro on init this service.`, 'danger');
|
133
|
-
}
|
128
|
+
async onStartFail() {}
|
134
129
|
/**
|
135
130
|
* Quando o serviço inicializar com sucesso
|
136
131
|
*
|
@@ -3,6 +3,13 @@ import { Attributes, InferAttributes, InferCreationAttributes, InitOptions, Mode
|
|
3
3
|
import { StaticServiceModel } from '../../contracts';
|
4
4
|
export type TEntityConnParams<M extends Model> = Partial<InitOptions<M>>;
|
5
5
|
export type TEntityParams<M extends Model> = ModelAttributes<M, Optional<Attributes<M>, BrandedKeysOf<Attributes<M>, typeof ForeignKeyBrand>>>;
|
6
|
+
/**
|
7
|
+
* Class base para todos os models (databases) usados no exodus
|
8
|
+
*
|
9
|
+
* @class ServiceModel
|
10
|
+
* @extends {Model<InferAttributes<M>, InferCreationAttributes<M>>}
|
11
|
+
* @template M
|
12
|
+
*/
|
6
13
|
declare class ServiceModel<M extends Model> extends Model<InferAttributes<M>, InferCreationAttributes<M>> {
|
7
14
|
static initialize<M extends ServiceModel<Model>>(this: StaticServiceModel<M>, connection: Sequelize): ModelStatic<M>;
|
8
15
|
static associate(_models: ModelStatic<Model>[]): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"servicemodel.d.ts","sourceRoot":"","sources":["../../../src/app/classes/servicemodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,eAAe,CAC1D,CAAC,EACD,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAC9E,CAAC;
|
1
|
+
{"version":3,"file":"servicemodel.d.ts","sourceRoot":"","sources":["../../../src/app/classes/servicemodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,eAAe,CAC1D,CAAC,EACD,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAC9E,CAAC;AAEF;;;;;;GAMG;AACH,cAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAC7C,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,SAAS,GACpB,WAAW,CAAC,CAAC,CAAC;WAOJ,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;IAGpD,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAG/F,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAChD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,iBAAiB,CAAC,GAAG,CAAC;CAG1B;AAED,eAAe,YAAY,CAAC"}
|
@@ -1,5 +1,14 @@
|
|
1
1
|
import { StaticSingleton } from '../../contracts/singleton';
|
2
2
|
import Managed from './managed';
|
3
|
+
/**
|
4
|
+
* Classe base para gerênciamento de instancia Singleton
|
5
|
+
* Usada para possibilitar a classe filha de manipular a
|
6
|
+
* instancia de sí mesma
|
7
|
+
*
|
8
|
+
* @abstract
|
9
|
+
* @class Singleton
|
10
|
+
* @extends {Managed}
|
11
|
+
*/
|
3
12
|
declare abstract class Singleton extends Managed {
|
4
13
|
static instance: Singleton;
|
5
14
|
static singleton<S extends Singleton>(this: StaticSingleton<S>): S;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../../src/app/classes/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,OAAO,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../../src/app/classes/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC;;;;;;;;GAQG;AACH,uBAAe,SAAU,SAAQ,OAAO;IAEtC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;WAEb,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAE3C,CAAC;CAE5B;AAED,eAAe,SAAS,CAAC"}
|
@@ -16,7 +16,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
16
16
|
* @extends {Managed}
|
17
17
|
*/
|
18
18
|
class Singleton extends _managed.default {
|
19
|
-
// #Singleton
|
20
19
|
static instance;
|
21
20
|
static singleton() {
|
22
21
|
if (!this.instance) this.instance = new this();
|
@@ -29,15 +29,9 @@ class SocketClientHandler extends _system.default {
|
|
29
29
|
static canExecute(_request) {
|
30
30
|
return true;
|
31
31
|
}
|
32
|
-
|
33
|
-
/* Connection */
|
34
32
|
onConnect() {}
|
35
33
|
onDisconnect() {}
|
36
|
-
|
37
|
-
/* Event Handler */
|
38
34
|
onEvent(_event, ..._args) {}
|
39
|
-
|
40
|
-
//# Getters
|
41
35
|
getSide() {
|
42
36
|
return this.side;
|
43
37
|
}
|
@@ -19,19 +19,13 @@ class SocketEventHandler extends _system.default {
|
|
19
19
|
this.active = true;
|
20
20
|
this.requesters = new Map();
|
21
21
|
}
|
22
|
-
|
23
|
-
/* Connection */
|
24
22
|
onConnect(request) {
|
25
23
|
this.requesters.set(request.requestor.id, request);
|
26
24
|
}
|
27
25
|
onDisconnect(request) {
|
28
26
|
this.requesters.delete(request.requestor.id);
|
29
27
|
}
|
30
|
-
|
31
|
-
/* Event Handler */
|
32
28
|
onEvent(_request, ..._args) {}
|
33
|
-
|
34
|
-
//# Getters
|
35
29
|
getEvent() {
|
36
30
|
return this.event;
|
37
31
|
}
|
@@ -21,7 +21,7 @@ declare class SSEHandler extends System {
|
|
21
21
|
protected getTicketInterval(): number;
|
22
22
|
getMiddlewares(): RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>[];
|
23
23
|
protected send(event: string, data: any): void;
|
24
|
-
static handle(request: Request, res: Response): Promise<void>;
|
24
|
+
static handle(this: new (request: Request, res: Response) => SSEHandler, request: Request, res: Response): Promise<void>;
|
25
25
|
}
|
26
26
|
export default SSEHandler;
|
27
27
|
//# sourceMappingURL=ssehandler.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ssehandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/ssehandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,UAAW,SAAQ,MAAM;IAQ3B,SAAS,CAAC,OAAO,EAAE,OAAO;IAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAR9B,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IACxC,OAAO,CAAC,YAAY,
|
1
|
+
{"version":3,"file":"ssehandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/ssehandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,UAAW,SAAQ,MAAM;IAQ3B,SAAS,CAAC,OAAO,EAAE,OAAO;IAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAR9B,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IACxC,OAAO,CAAC,YAAY,CAAwB;gBAGhC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ;IAKvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9B,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAWhE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAG9B,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,iBAAiB;IAGpB,cAAc;IAIrB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;WAOnB,MAAM,CACxB,IAAI,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,UAAU,EACzD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ;CA0BhB;AAED,eAAe,UAAU,CAAC"}
|
@@ -21,7 +21,7 @@ class SSEHandler extends _system.default {
|
|
21
21
|
onInit() {
|
22
22
|
this.side = _core.eExecutionSide.ANY;
|
23
23
|
this.active = true;
|
24
|
-
this.ticketInterval = 3000;
|
24
|
+
this.ticketInterval = 3000;
|
25
25
|
}
|
26
26
|
onConnect(request, res) {
|
27
27
|
this.request = request;
|
@@ -38,16 +38,24 @@ class SSEHandler extends _system.default {
|
|
38
38
|
}, this.ticketInterval);
|
39
39
|
}
|
40
40
|
onDisconnect() {
|
41
|
-
|
42
|
-
|
41
|
+
if (this.tickInterval) {
|
42
|
+
clearInterval(this.tickInterval);
|
43
|
+
this.tickInterval = null;
|
44
|
+
}
|
45
|
+
if (!this.response.headersSent && !this.response.destroyed) {
|
46
|
+
this.response.end();
|
47
|
+
}
|
43
48
|
}
|
44
49
|
onAborted() {
|
45
|
-
|
46
|
-
|
50
|
+
if (this.tickInterval) {
|
51
|
+
clearInterval(this.tickInterval);
|
52
|
+
this.tickInterval = null;
|
53
|
+
}
|
54
|
+
if (!this.response.headersSent && !this.response.destroyed) {
|
55
|
+
this.response.end();
|
56
|
+
}
|
47
57
|
}
|
48
58
|
onTick() {}
|
49
|
-
|
50
|
-
//# Getters
|
51
59
|
getSide() {
|
52
60
|
return this.side;
|
53
61
|
}
|
@@ -61,14 +69,29 @@ class SSEHandler extends _system.default {
|
|
61
69
|
return this.middlewares;
|
62
70
|
}
|
63
71
|
send(event, data) {
|
64
|
-
this.response.
|
65
|
-
|
72
|
+
if (!this.response.headersSent) {
|
73
|
+
this.response.write(`event: ${event}\n`);
|
74
|
+
this.response.write(`data: ${JSON.stringify(data)}\n\n`);
|
75
|
+
}
|
66
76
|
}
|
67
77
|
static async handle(request, res) {
|
68
78
|
const handler = new this(request, res);
|
69
|
-
|
70
|
-
|
71
|
-
|
79
|
+
try {
|
80
|
+
await handler.onInit();
|
81
|
+
await handler.onConnect(request, res);
|
82
|
+
request.on('close', () => {
|
83
|
+
handler.onDisconnect();
|
84
|
+
});
|
85
|
+
request.on('aborted', () => {
|
86
|
+
handler.onAborted();
|
87
|
+
});
|
88
|
+
await handler.onAfterConnect();
|
89
|
+
} catch (error) {
|
90
|
+
console.error('Erro ao inicializar SSE Handler:', error);
|
91
|
+
if (!res.headersSent) {
|
92
|
+
res.status(500).end();
|
93
|
+
}
|
94
|
+
}
|
72
95
|
}
|
73
96
|
}
|
74
97
|
var _default = exports.default = SSEHandler;
|
@@ -1,4 +1,10 @@
|
|
1
1
|
import { TLoggerLevel } from '../../contracts';
|
2
|
+
/**
|
3
|
+
* Classe base para todas as classes que não precisem de gerênciamento complexo
|
4
|
+
* apenas logs e etc...
|
5
|
+
*
|
6
|
+
* @class System
|
7
|
+
*/
|
2
8
|
declare class System {
|
3
9
|
log(msg: string, level?: TLoggerLevel): void;
|
4
10
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/app/classes/system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/app/classes/system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;GAKG;AACH,cAAM,MAAM;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,YAAuB;CA0CvD;AACD,eAAe,MAAM,CAAC"}
|