exodus-framework 2.0.889 → 2.0.890
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/socket/clienthandler.d.ts +25 -0
- package/lib/app/classes/socket/clienthandler.d.ts.map +1 -0
- package/lib/app/classes/socket/clienthandler.js +55 -0
- package/lib/app/classes/socket/{handler.d.ts → eventhandler.d.ts} +1 -1
- package/lib/app/classes/socket/eventhandler.d.ts.map +1 -0
- package/lib/app/classes/socket/index.d.ts +1 -1
- package/lib/app/classes/socket/index.d.ts.map +1 -1
- package/lib/app/classes/socket/index.js +2 -2
- package/lib/services/socket.d.ts +5 -2
- package/lib/services/socket.d.ts.map +1 -1
- package/lib/services/socket.js +24 -9
- package/package.json +1 -1
- package/lib/app/classes/socket/handler.d.ts.map +0 -1
- /package/lib/app/classes/socket/{handler.js → eventhandler.js} +0 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
import { IAccount, IServiceRequestor } from '../../../contracts';
|
2
|
+
import { eExecutionSide } from '../../../contracts/core';
|
3
|
+
import { SocketRequest } from '../../controller';
|
4
|
+
import System from '../system';
|
5
|
+
declare class SocketClientHandler extends System {
|
6
|
+
protected side: eExecutionSide;
|
7
|
+
protected name: string;
|
8
|
+
protected active: boolean;
|
9
|
+
protected request: SocketRequest;
|
10
|
+
protected requestor: IServiceRequestor;
|
11
|
+
protected tenantId: string;
|
12
|
+
protected account: IAccount;
|
13
|
+
protected isApplication: boolean;
|
14
|
+
onInit(): void;
|
15
|
+
onConnect(request: SocketRequest): Promise<void> | void;
|
16
|
+
onDisconnect(): Promise<void> | void;
|
17
|
+
onEvent(_event: string, ..._args: any[]): Promise<void> | void;
|
18
|
+
getSide(): eExecutionSide;
|
19
|
+
getName(): string;
|
20
|
+
getActive(): boolean;
|
21
|
+
protected getRequester(): SocketRequest;
|
22
|
+
protected send(event: string, ...args: any[]): void;
|
23
|
+
}
|
24
|
+
export default SocketClientHandler;
|
25
|
+
//# sourceMappingURL=clienthandler.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"clienthandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/clienthandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,mBAAoB,SAAQ,MAAM;IACtC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC5B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAE1B,MAAM,IAAI,IAAI;IAOd,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAOvD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGpC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAG9D,OAAO;IAGP,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAG7C;AAED,eAAe,mBAAmB,CAAC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _core = require("../../../contracts/core");
|
8
|
+
var _system = _interopRequireDefault(require("../system"));
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
10
|
+
class SocketClientHandler extends _system.default {
|
11
|
+
side;
|
12
|
+
name;
|
13
|
+
active;
|
14
|
+
request;
|
15
|
+
requestor;
|
16
|
+
tenantId;
|
17
|
+
account;
|
18
|
+
isApplication;
|
19
|
+
onInit() {
|
20
|
+
this.side = _core.eExecutionSide.ANY;
|
21
|
+
this.name = this.constructor.name;
|
22
|
+
this.active = true;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* Connection */
|
26
|
+
onConnect(request) {
|
27
|
+
this.request = request;
|
28
|
+
this.requestor = request.requestor;
|
29
|
+
this.tenantId = request.tenant.id;
|
30
|
+
this.account = request.auth.account;
|
31
|
+
this.isApplication = request.isApplication;
|
32
|
+
}
|
33
|
+
onDisconnect() {}
|
34
|
+
|
35
|
+
/* Event Handler */
|
36
|
+
onEvent(_event, ..._args) {}
|
37
|
+
|
38
|
+
//# Getters
|
39
|
+
getSide() {
|
40
|
+
return this.side;
|
41
|
+
}
|
42
|
+
getName() {
|
43
|
+
return this.name;
|
44
|
+
}
|
45
|
+
getActive() {
|
46
|
+
return this.active;
|
47
|
+
}
|
48
|
+
getRequester() {
|
49
|
+
return this.request;
|
50
|
+
}
|
51
|
+
send(event, ...args) {
|
52
|
+
this.request.send(event, ...args);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
var _default = exports.default = SocketClientHandler;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"eventhandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/eventhandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,mBAAmB,GAAG,GAAG,CAAE,SAAQ,MAAM;IAChF,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C,MAAM,IAAI,IAAI;IAQd,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGvD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK1D,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGxF,QAAQ;IAGR,OAAO;IAGP,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM;CAGlC;AAED,eAAe,kBAAkB,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export { default as SocketEventHandler } from './
|
1
|
+
export { default as SocketEventHandler } from './eventhandler';
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
Object.defineProperty(exports, "SocketEventHandler", {
|
7
7
|
enumerable: true,
|
8
8
|
get: function () {
|
9
|
-
return
|
9
|
+
return _eventhandler.default;
|
10
10
|
}
|
11
11
|
});
|
12
|
-
var
|
12
|
+
var _eventhandler = _interopRequireDefault(require("./eventhandler"));
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
package/lib/services/socket.d.ts
CHANGED
@@ -2,16 +2,19 @@ import { CorsOptions, CorsOptionsDelegate } from 'cors';
|
|
2
2
|
import { Server as HttpServer } from 'http';
|
3
3
|
import { Server } from 'socket.io';
|
4
4
|
import Service from '../app/classes/service';
|
5
|
-
import SocketEventHandler from '../app/classes/socket/
|
5
|
+
import SocketEventHandler from '../app/classes/socket/eventhandler';
|
6
|
+
import SocketClientHandler from '../app/classes/socket/clienthandler';
|
6
7
|
declare class SocketIOService extends Service {
|
7
8
|
server: Server;
|
8
9
|
private mainRouter;
|
9
|
-
private
|
10
|
+
private eventhandlers;
|
11
|
+
private clientHandlers;
|
10
12
|
onServiceClusterInit(): Promise<void>;
|
11
13
|
private onConnection;
|
12
14
|
private bindEvents;
|
13
15
|
createSocket(app: HttpServer, cors?: CorsOptions | CorsOptionsDelegate): void;
|
14
16
|
static registerRouter(router: SocketEventHandler[]): void;
|
17
|
+
static registerClientHandlers(handlers: (typeof SocketClientHandler)[]): void;
|
15
18
|
private registerHandlers;
|
16
19
|
}
|
17
20
|
export default SocketIOService;
|
@@ -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
|
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;AAStE,cAAM,eAAgB,SAAQ,OAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,cAAc,CAAsC;IAEtD,oBAAoB;IAY1B,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,UAAU;IAgCX,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,WAAW,GAAG,mBAAqC;IAM9F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;IAGlD,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,mBAAmB,CAAC,EAAE;YAIxD,gBAAgB;CAY/B;AAED,eAAe,eAAe,CAAC"}
|
package/lib/services/socket.js
CHANGED
@@ -21,12 +21,15 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
21
21
|
class SocketIOService extends _service.default {
|
22
22
|
server;
|
23
23
|
mainRouter;
|
24
|
-
|
24
|
+
eventhandlers;
|
25
|
+
clientHandlers = [];
|
25
26
|
async onServiceClusterInit() {
|
26
27
|
if (!this.mainRouter) throw new Error('Need router'); //!sem router
|
27
28
|
|
28
29
|
this.createSocket(_express.default.singleton().getHttpServer());
|
29
|
-
this.
|
30
|
+
this.eventhandlers = new Map();
|
31
|
+
// this.clientHandlers = [];
|
32
|
+
|
30
33
|
await this.registerHandlers();
|
31
34
|
this.server.on('connection', this.onConnection.bind(this));
|
32
35
|
this.log('Socket server created');
|
@@ -34,20 +37,29 @@ class SocketIOService extends _service.default {
|
|
34
37
|
onConnection(socket) {
|
35
38
|
this.log(`${socket.id} conectado`);
|
36
39
|
const request = new _controller.SocketRequest(socket);
|
40
|
+
const eventsH = Array.from(this.eventhandlers.values());
|
41
|
+
const clientsH = this.clientHandlers.map(E => {
|
42
|
+
return new E();
|
43
|
+
});
|
44
|
+
clientsH.forEach(handler => handler.onConnect(request));
|
45
|
+
const onAny = (event, ...args) => clientsH.forEach(handler => handler.onEvent(event, ...args));
|
46
|
+
socket.onAny(onAny);
|
47
|
+
eventsH.forEach(handlers => {
|
48
|
+
handlers.forEach(handler => handler.onConnect(request));
|
49
|
+
});
|
37
50
|
socket.on('disconnect', () => {
|
38
51
|
this.log(`${socket.id} desconectado`);
|
39
|
-
|
52
|
+
eventsH.forEach(handlers => {
|
40
53
|
handlers.forEach(handler => handler.onDisconnect(request));
|
41
54
|
});
|
42
|
-
|
43
|
-
|
44
|
-
handlers.forEach(handler => handler.onConnect(request));
|
55
|
+
clientsH.forEach(handler => handler.onDisconnect());
|
56
|
+
socket.offAny(onAny);
|
45
57
|
});
|
46
58
|
this.bindEvents(socket);
|
47
59
|
}
|
48
60
|
bindEvents(socket) {
|
49
61
|
const request = new _controller.SocketRequest(socket);
|
50
|
-
const handlers = Array.from(this.
|
62
|
+
const handlers = Array.from(this.eventhandlers.entries());
|
51
63
|
for (const group of handlers) {
|
52
64
|
const event = group[0];
|
53
65
|
const handlers = group[1].filter(handler => {
|
@@ -84,13 +96,16 @@ class SocketIOService extends _service.default {
|
|
84
96
|
static registerRouter(router) {
|
85
97
|
this.getService().mainRouter = router;
|
86
98
|
}
|
99
|
+
static registerClientHandlers(handlers) {
|
100
|
+
this.getService().clientHandlers = handlers;
|
101
|
+
}
|
87
102
|
async registerHandlers() {
|
88
103
|
return Promise.all(this.mainRouter.map(async handler => {
|
89
104
|
handler.onInit();
|
90
105
|
const event = handler.getEvent();
|
91
|
-
const group = this.
|
106
|
+
const group = this.eventhandlers.get(event) || [];
|
92
107
|
group.push(handler);
|
93
|
-
this.
|
108
|
+
this.eventhandlers.set(event, group);
|
94
109
|
}));
|
95
110
|
}
|
96
111
|
}
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,mBAAmB,GAAG,GAAG,CAAE,SAAQ,MAAM;IAChF,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C,MAAM,IAAI,IAAI;IAQd,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGvD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK1D,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAGxF,QAAQ;IAGR,OAAO;IAGP,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM;CAGlC;AAED,eAAe,kBAAkB,CAAC"}
|
File without changes
|