@futdevpro/nts-dynamo 1.5.88 → 1.5.92
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/_constants/dynamo-nts-global-settings.const.d.ts +3 -0
- package/lib/_constants/dynamo-nts-global-settings.const.d.ts.map +1 -0
- package/lib/_constants/dynamo-nts-global-settings.const.js +18 -0
- package/lib/_constants/dynamo-nts-global-settings.const.js.map +1 -0
- package/lib/_constants/index.d.ts +1 -1
- package/lib/_constants/index.d.ts.map +1 -1
- package/lib/_constants/index.js +1 -1
- package/lib/_constants/index.js.map +1 -1
- package/lib/_enums/http/dynamo-nts-socket-event-type.enum.d.ts +10 -0
- package/lib/_enums/http/dynamo-nts-socket-event-type.enum.d.ts.map +1 -0
- package/lib/_enums/http/dynamo-nts-socket-event-type.enum.js +14 -0
- package/lib/_enums/http/dynamo-nts-socket-event-type.enum.js.map +1 -0
- package/lib/_enums/index.d.ts +1 -1
- package/lib/_enums/index.d.ts.map +1 -1
- package/lib/_enums/index.js +1 -1
- package/lib/_enums/index.js.map +1 -1
- package/lib/_interfaces/dynamo-nts-global-service-settings.interface.d.ts +0 -10
- package/lib/_interfaces/dynamo-nts-global-service-settings.interface.d.ts.map +1 -1
- package/lib/_models/control-models/dynamo-nts-api-call-params.model.d.ts +96 -0
- package/lib/_models/control-models/dynamo-nts-api-call-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-api-call-params.model.js +48 -0
- package/lib/_models/control-models/dynamo-nts-api-call-params.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-app-params.model.d.ts +50 -0
- package/lib/_models/control-models/dynamo-nts-app-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-app-params.model.js +18 -0
- package/lib/_models/control-models/dynamo-nts-app-params.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-endpoint-params.model.d.ts +81 -0
- package/lib/_models/control-models/dynamo-nts-endpoint-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-endpoint-params.model.js +140 -0
- package/lib/_models/control-models/dynamo-nts-endpoint-params.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-client-service-params.model.d.ts +11 -0
- package/lib/_models/control-models/dynamo-nts-socket-client-service-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-client-service-params.model.js +14 -0
- package/lib/_models/control-models/dynamo-nts-socket-client-service-params.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-event-params.model.d.ts +33 -0
- package/lib/_models/control-models/dynamo-nts-socket-event-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-event-params.model.js +81 -0
- package/lib/_models/control-models/dynamo-nts-socket-event-params.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-event.model.d.ts +33 -0
- package/lib/_models/control-models/dynamo-nts-socket-event.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-event.model.js +81 -0
- package/lib/_models/control-models/dynamo-nts-socket-event.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-presence.model.d.ts +21 -0
- package/lib/_models/control-models/dynamo-nts-socket-presence.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-presence.model.js +45 -0
- package/lib/_models/control-models/dynamo-nts-socket-presence.model.js.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-server-service-params.model.d.ts +19 -0
- package/lib/_models/control-models/dynamo-nts-socket-server-service-params.model.d.ts.map +1 -0
- package/lib/_models/control-models/dynamo-nts-socket-server-service-params.model.js +27 -0
- package/lib/_models/control-models/dynamo-nts-socket-server-service-params.model.js.map +1 -0
- package/lib/_models/control-models/index.d.ts +8 -0
- package/lib/_models/control-models/index.d.ts.map +1 -0
- package/lib/_models/control-models/index.js +12 -0
- package/lib/_models/control-models/index.js.map +1 -0
- package/lib/_models/index.d.ts +2 -7
- package/lib/_models/index.d.ts.map +1 -1
- package/lib/_models/index.js +4 -9
- package/lib/_models/index.js.map +1 -1
- package/lib/_models/interfaces/dynamo-nts-certification-settings.interface.d.ts +7 -0
- package/lib/_models/interfaces/dynamo-nts-certification-settings.interface.d.ts.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-certification-settings.interface.js +3 -0
- package/lib/_models/interfaces/dynamo-nts-certification-settings.interface.js.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-global-service-settings.interface.d.ts +18 -0
- package/lib/_models/interfaces/dynamo-nts-global-service-settings.interface.d.ts.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-global-service-settings.interface.js +3 -0
- package/lib/_models/interfaces/dynamo-nts-global-service-settings.interface.js.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-global-settings.interface.d.ts +54 -0
- package/lib/_models/interfaces/dynamo-nts-global-settings.interface.d.ts.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-global-settings.interface.js +3 -0
- package/lib/_models/interfaces/dynamo-nts-global-settings.interface.js.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-port-settings.interface.d.ts +5 -0
- package/lib/_models/interfaces/dynamo-nts-port-settings.interface.d.ts.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-port-settings.interface.js +3 -0
- package/lib/_models/interfaces/dynamo-nts-port-settings.interface.js.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-routing-module-settings.interface.d.ts +20 -0
- package/lib/_models/interfaces/dynamo-nts-routing-module-settings.interface.d.ts.map +1 -0
- package/lib/_models/interfaces/dynamo-nts-routing-module-settings.interface.js +3 -0
- package/lib/_models/interfaces/dynamo-nts-routing-module-settings.interface.js.map +1 -0
- package/lib/_models/interfaces/index.d.ts +6 -0
- package/lib/_models/interfaces/index.d.ts.map +1 -0
- package/lib/_models/interfaces/index.js +10 -0
- package/lib/_models/interfaces/index.js.map +1 -0
- package/lib/_modules/api-service.index.d.ts +1 -1
- package/lib/_modules/api-service.index.d.ts.map +1 -1
- package/lib/_modules/api-service.index.js +1 -1
- package/lib/_modules/api-service.index.js.map +1 -1
- package/lib/_modules/app-extended.index.d.ts +10 -10
- package/lib/_modules/app-extended.index.d.ts.map +1 -1
- package/lib/_modules/app-extended.index.js +11 -11
- package/lib/_modules/app-extended.index.js.map +1 -1
- package/lib/_modules/app.index.d.ts +8 -8
- package/lib/_modules/app.index.d.ts.map +1 -1
- package/lib/_modules/app.index.js +9 -9
- package/lib/_modules/app.index.js.map +1 -1
- package/lib/_modules/controller.index.d.ts +1 -1
- package/lib/_modules/controller.index.d.ts.map +1 -1
- package/lib/_modules/controller.index.js +2 -2
- package/lib/_modules/controller.index.js.map +1 -1
- package/lib/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
- package/lib/_modules/custom-data/custom-data.controller.js +3 -3
- package/lib/_modules/custom-data/custom-data.controller.js.map +1 -1
- package/lib/_modules/test/test.controller.d.ts.map +1 -1
- package/lib/_modules/test/test.controller.js +10 -10
- package/lib/_modules/test/test.controller.js.map +1 -1
- package/lib/_modules/usage/usage-controller.d.ts.map +1 -1
- package/lib/_modules/usage/usage-controller.js +5 -5
- package/lib/_modules/usage/usage-controller.js.map +1 -1
- package/lib/_services/dynamo-nts-api.service.d.ts +1 -1
- package/lib/_services/dynamo-nts-api.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-app-extended.d.ts +3 -3
- package/lib/_services/dynamo-nts-app-extended.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-app-extended.js.map +1 -1
- package/lib/_services/dynamo-nts-app.d.ts +9 -5
- package/lib/_services/dynamo-nts-app.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-app.js +4 -4
- package/lib/_services/dynamo-nts-app.js.map +1 -1
- package/lib/_services/dynamo-nts-controller-service-collection.service.d.ts +8 -0
- package/lib/_services/dynamo-nts-controller-service-collection.service.d.ts.map +1 -0
- package/lib/_services/dynamo-nts-controller-service-collection.service.js +11 -0
- package/lib/_services/dynamo-nts-controller-service-collection.service.js.map +1 -0
- package/lib/_services/dynamo-nts-controller.service.d.ts +1 -1
- package/lib/_services/dynamo-nts-controller.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-controller.service.js.map +1 -1
- package/lib/_services/dynamo-nts-global.service.d.ts +2 -19
- package/lib/_services/dynamo-nts-global.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-global.service.js +0 -49
- package/lib/_services/dynamo-nts-global.service.js.map +1 -1
- package/lib/_services/dynamo-nts-routing-module.service.d.ts +2 -2
- package/lib/_services/dynamo-nts-routing-module.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-routing-module.service.js +3 -3
- package/lib/_services/dynamo-nts-routing-module.service.js.map +1 -1
- package/lib/_services/dynamo-nts-shared.service.spec.d.ts +0 -1
- package/lib/_services/dynamo-nts-shared.service.spec.js +6 -8
- package/lib/_services/dynamo-nts-shared.service.spec.js.map +1 -1
- package/lib/_services/dynamo-nts-socket-client.service.d.ts +22 -0
- package/lib/_services/dynamo-nts-socket-client.service.d.ts.map +1 -0
- package/lib/_services/dynamo-nts-socket-client.service.js +43 -0
- package/lib/_services/dynamo-nts-socket-client.service.js.map +1 -0
- package/lib/_services/dynamo-nts-socket-server-service-collection.service.d.ts +5 -0
- package/lib/_services/dynamo-nts-socket-server-service-collection.service.d.ts.map +1 -0
- package/lib/_services/dynamo-nts-socket-server-service-collection.service.js +15 -0
- package/lib/_services/dynamo-nts-socket-server-service-collection.service.js.map +1 -0
- package/lib/_services/dynamo-nts-socket-server.service.d.ts +56 -0
- package/lib/_services/dynamo-nts-socket-server.service.d.ts.map +1 -0
- package/lib/_services/dynamo-nts-socket-server.service.js +188 -0
- package/lib/_services/dynamo-nts-socket-server.service.js.map +1 -0
- package/lib/_services/dynamo-nts-socket-service-collection.service.d.ts +1 -6
- package/lib/_services/dynamo-nts-socket-service-collection.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-socket-service-collection.service.js +9 -8
- package/lib/_services/dynamo-nts-socket-service-collection.service.js.map +1 -1
- package/lib/_services/dynamo-nts-socket.service.d.ts +0 -1
- package/lib/_services/dynamo-nts-socket.service.d.ts.map +1 -1
- package/lib/_services/dynamo-nts-socket.service.js +4 -5
- package/lib/_services/dynamo-nts-socket.service.js.map +1 -1
- package/lib/_services/index.d.ts +2 -2
- package/lib/_services/index.d.ts.map +1 -1
- package/lib/_services/index.js +2 -2
- package/lib/_services/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -17
- package/src/_constants/{dynamo-nts-global-settings.ts → dynamo-nts-global-settings.const.ts} +1 -1
- package/src/_constants/index.ts +1 -1
- package/src/_enums/http/{dynamo-nts-socket-event.enum.ts → dynamo-nts-socket-event-type.enum.ts} +1 -1
- package/src/_enums/index.ts +1 -1
- package/src/_models/{dynamo-nts-api-call-params.ts → control-models/dynamo-nts-api-call-params.model.ts} +2 -2
- package/src/_models/{dynamo-nts-endpoint-params.ts → control-models/dynamo-nts-endpoint-params.model.ts} +4 -4
- package/src/_models/control-models/dynamo-nts-socket-client-service-params.model.ts +17 -0
- package/src/_models/{dynamo-nts-socket-event-params.ts → control-models/dynamo-nts-socket-event.model.ts} +6 -6
- package/src/_models/{dynamo-nts-socket-service-params.ts → control-models/dynamo-nts-socket-server-service-params.model.ts} +3 -3
- package/src/_models/control-models/index.ts +11 -0
- package/src/_models/index.ts +4 -10
- package/src/{_interfaces → _models/interfaces}/dynamo-nts-global-service-settings.interface.ts +4 -6
- package/src/_models/{dynamo-nts-global-settings.ts → interfaces/dynamo-nts-global-settings.interface.ts} +2 -2
- package/src/_models/{dynamo-nts-routing-module-settings.ts → interfaces/dynamo-nts-routing-module-settings.interface.ts} +2 -2
- package/src/_models/interfaces/index.ts +7 -0
- package/src/_modules/api-service.index.ts +1 -1
- package/src/_modules/app-extended.index.ts +11 -11
- package/src/_modules/app.index.ts +9 -9
- package/src/_modules/controller.index.ts +2 -2
- package/src/_modules/custom-data/custom-data.controller.ts +3 -2
- package/src/_modules/custom-data/get-custom-data-routing-module.ts +1 -1
- package/src/_modules/test/get-test-routing-module.ts +1 -1
- package/src/_modules/test/test.controller.ts +4 -2
- package/src/_modules/usage/get-usage-routing-module.ts +1 -1
- package/src/_modules/usage/usage-controller.ts +3 -1
- package/src/_services/dynamo-nts-api.service.ts +1 -1
- package/src/_services/dynamo-nts-app-extended.ts +8 -8
- package/src/_services/dynamo-nts-app.ts +16 -7
- package/src/_services/dynamo-nts-controller.service.ts +1 -1
- package/src/_services/dynamo-nts-global.service.ts +8 -15
- package/src/_services/dynamo-nts-routing-module.service.ts +3 -3
- package/src/_services/dynamo-nts-shared.service.spec.ts +4 -4
- package/src/_services/dynamo-nts-socket-client.service.ts +63 -0
- package/src/_services/{dynamo-nts-socket-service-collection.service.ts → dynamo-nts-socket-server-service-collection.service.ts} +3 -3
- package/src/_services/{dynamo-nts-socket.service.ts → dynamo-nts-socket-server.service.ts} +32 -34
- package/src/_services/index.ts +2 -2
- package/src/_interfaces/index.ts +0 -5
- /package/src/_models/{dynamo-nts-app-params.ts → control-models/dynamo-nts-app-params.model.ts} +0 -0
- /package/src/_models/{dynamo-nts-socket-presence.ts → control-models/dynamo-nts-socket-presence.model.ts} +0 -0
- /package/src/{_interfaces → _models/interfaces}/dynamo-nts-certification-settings.interface.ts +0 -0
- /package/src/{_interfaces → _models/interfaces}/dynamo-nts-port-settings.interface.ts +0 -0
- /package/src/_services/{dynamo-nts-simple-service-collection.service.ts → dynamo-nts-controller-service-collection.service.ts} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import * as SocketIO from 'socket.io-client';
|
|
5
|
+
|
|
6
|
+
import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
|
|
7
|
+
import { Dynamo_Log } from '@futdevpro/fsm-dynamo';
|
|
8
|
+
import { DynamoNTS_SocketClientServiceParams } from '../_models/control-models/dynamo-nts-socket-client-service-params.model';
|
|
9
|
+
import { dynamoNTS_GlobalSettings } from '../_constants/dynamo-nts-global-settings.const';
|
|
10
|
+
import { DynamoNTS_SocketEvent } from '../_models/control-models/dynamo-nts-socket-event.model';
|
|
11
|
+
import { DynamoNTS_SocketEventType } from '../_enums/http/dynamo-nts-socket-event-type.enum';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
export abstract class SocketClientService extends DynamoNTS_SingletonService {
|
|
15
|
+
|
|
16
|
+
private _params: DynamoNTS_SocketClientServiceParams;
|
|
17
|
+
protected get params(): DynamoNTS_SocketClientServiceParams { return this._params; }
|
|
18
|
+
|
|
19
|
+
protected log: boolean = dynamoNTS_GlobalSettings.logSetup;
|
|
20
|
+
|
|
21
|
+
socket: SocketIO.Socket
|
|
22
|
+
|
|
23
|
+
protected incomingEvents: DynamoNTS_SocketEvent<any>[];
|
|
24
|
+
|
|
25
|
+
private constructor() {
|
|
26
|
+
super();
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
this.incomingEvents = this.getIncomingEvents() ?? [];
|
|
30
|
+
|
|
31
|
+
this.connectSocket();
|
|
32
|
+
|
|
33
|
+
if (this.log) console.log(`Socket Controller setup done: ${this.params.name} (${this.params.port})\n`);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
Dynamo_Log.error(`Socket Client setup failed: ${this.params.name} (${this.params.port})`, error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private connectSocket(): void {
|
|
40
|
+
this.socket = SocketIO.connect(`${this.params.address}:${this.params.port}`).on('connect', () => {
|
|
41
|
+
this.incomingEvents.forEach((event: DynamoNTS_SocketEvent<any>) => {
|
|
42
|
+
this.socket.on(event.event, async (content: any) => {
|
|
43
|
+
try {
|
|
44
|
+
await event.executeEventTasks(this.params.service, content);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
Dynamo_Log.error(`Socket Event failed: ${this.params.name} (${this.params.port})`, error);
|
|
47
|
+
this.socket.emit(DynamoNTS_SocketEventType.error, error);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* You must setup params for the service in this function
|
|
56
|
+
*/
|
|
57
|
+
abstract getParams(): DynamoNTS_SocketClientServiceParams;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* You must setup events and required services in this function
|
|
61
|
+
*/
|
|
62
|
+
abstract getIncomingEvents(): DynamoNTS_SocketEvent<any>[];
|
|
63
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
|
|
3
|
-
import {
|
|
3
|
+
import { DynamoNTS_SocketServerService } from './dynamo-nts-socket-server.service';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
|
-
export class DynamoNTS_SocketServiceCollection extends DynamoNTS_SingletonService {
|
|
8
|
+
/* export class DynamoNTS_SocketServiceCollection extends DynamoNTS_SingletonService {
|
|
9
9
|
|
|
10
10
|
static getInstance(): DynamoNTS_SocketServiceCollection {
|
|
11
11
|
return DynamoNTS_SocketServiceCollection.getSingletonInstance();
|
|
@@ -13,4 +13,4 @@ export class DynamoNTS_SocketServiceCollection extends DynamoNTS_SingletonServic
|
|
|
13
13
|
|
|
14
14
|
[service: string]: DynamoNTS_SocketService<any>;
|
|
15
15
|
|
|
16
|
-
}
|
|
16
|
+
} */
|
|
@@ -3,30 +3,29 @@ import * as SocketIO from 'socket.io';
|
|
|
3
3
|
|
|
4
4
|
import { Dynamo_Error, Dynamo_Log } from '@futdevpro/fsm-dynamo';
|
|
5
5
|
|
|
6
|
-
import { DynamoNTS_GlobalService } from './dynamo-nts-global.service';
|
|
7
6
|
import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
|
|
8
|
-
import { dynamoNTS_GlobalSettings } from '../_constants/dynamo-nts-global-settings';
|
|
9
|
-
import {
|
|
10
|
-
import { DynamoNTS_SocketEvent } from '../_enums/http/dynamo-nts-socket-event.enum';
|
|
11
|
-
import { DynamoNTS_SocketServiceParams } from '../_models/dynamo-nts-socket-service-params';
|
|
12
|
-
import { DynamoNTS_SocketPresence } from '../_models/dynamo-nts-socket-presence';
|
|
7
|
+
import { dynamoNTS_GlobalSettings } from '../_constants/dynamo-nts-global-settings.const';
|
|
8
|
+
import { DynamoNTS_SocketEventType } from '../_enums/http/dynamo-nts-socket-event-type.enum';
|
|
13
9
|
import { DynamoNTS_SocketSecurity } from '../_enums/dynamo-nts-socket-security.enum';
|
|
10
|
+
import { DynamoNTS_SocketServerServiceParams } from '../_models/control-models/dynamo-nts-socket-server-service-params.model';
|
|
11
|
+
import { DynamoNTS_SocketPresence } from '../_models/control-models/dynamo-nts-socket-presence.model';
|
|
12
|
+
import { DynamoNTS_SocketEvent, DynamoNTS_SocketEventPreprocessTask, DynamoNTS_SocketEventTask } from '../_models/control-models/dynamo-nts-socket-event.model';
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
*
|
|
17
16
|
*/
|
|
18
|
-
export abstract class
|
|
19
|
-
protected params:
|
|
17
|
+
export abstract class DynamoNTS_SocketServerService<T_Presence extends DynamoNTS_SocketPresence, T_Content = any> extends DynamoNTS_SingletonService {
|
|
18
|
+
protected params: DynamoNTS_SocketServerServiceParams;
|
|
20
19
|
get name(): string { return this.params.name; }
|
|
21
20
|
get port(): number { return this.params.port; }
|
|
22
21
|
get security(): DynamoNTS_SocketSecurity { return this.params.security; }
|
|
23
22
|
|
|
24
23
|
protected socketServer: SocketIO.Server;
|
|
25
24
|
|
|
26
|
-
private connectEvent:
|
|
27
|
-
protected incomingEvents:
|
|
25
|
+
private connectEvent: DynamoNTS_SocketEvent<SocketIO.Socket>;
|
|
26
|
+
protected incomingEvents: DynamoNTS_SocketEvent<any>[];
|
|
28
27
|
|
|
29
|
-
private subscriptionEvent:
|
|
28
|
+
private subscriptionEvent: DynamoNTS_SocketEvent<any>;
|
|
30
29
|
/**
|
|
31
30
|
* You need to setup a function that converts subscription event content to presence
|
|
32
31
|
*/
|
|
@@ -46,7 +45,7 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
46
45
|
this.params = this.getServiceParams();
|
|
47
46
|
this.incomingEvents = this.getIncomingEvents() ?? [];
|
|
48
47
|
|
|
49
|
-
this.attachToGlobalCollection();
|
|
48
|
+
/* this.attachToGlobalCollection(); */
|
|
50
49
|
this.prepareEvents();
|
|
51
50
|
|
|
52
51
|
if (this.log) console.log(`Socket Controller setup done: ${this.params.name} (${this.params.port}) serurity: ${this.params.security}\n`);
|
|
@@ -55,27 +54,27 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
private attachToGlobalCollection(): void {
|
|
57
|
+
/* private attachToGlobalCollection(): void {
|
|
59
58
|
DynamoNTS_GlobalService.attachNewSocketService(this);
|
|
60
|
-
}
|
|
59
|
+
} */
|
|
61
60
|
|
|
62
61
|
/**
|
|
63
62
|
* You must setup events and required services for this function
|
|
64
63
|
*/
|
|
65
64
|
private prepareEvents(): void {
|
|
66
|
-
const connectEventIndex = this.incomingEvents.findIndex((event:
|
|
65
|
+
const connectEventIndex = this.incomingEvents.findIndex((event: DynamoNTS_SocketEvent<any>) => event.event === DynamoNTS_SocketEventType.connection);
|
|
67
66
|
if (0 <= connectEventIndex) {
|
|
68
67
|
this.connectEvent = this.incomingEvents.splice(connectEventIndex)[0];
|
|
69
68
|
} else {
|
|
70
|
-
this.connectEvent = new
|
|
71
|
-
event:
|
|
69
|
+
this.connectEvent = new DynamoNTS_SocketEvent({
|
|
70
|
+
event: DynamoNTS_SocketEventType.connection,
|
|
72
71
|
tasks: []
|
|
73
72
|
});
|
|
74
73
|
}
|
|
75
74
|
this.connectEvent.socketName = this.params.name;
|
|
76
75
|
|
|
77
76
|
if (this.getPresenceFromSubscrioptionEventContent) {
|
|
78
|
-
const subscriptionEventIndex = this.incomingEvents.findIndex((event:
|
|
77
|
+
const subscriptionEventIndex = this.incomingEvents.findIndex((event: DynamoNTS_SocketEvent<any>) => event.event === DynamoNTS_SocketEventType.subscribe);
|
|
79
78
|
if (0 <= subscriptionEventIndex) {
|
|
80
79
|
this.subscriptionEvent = this.incomingEvents.splice(subscriptionEventIndex)[0];
|
|
81
80
|
Dynamo_Log.error(
|
|
@@ -83,7 +82,7 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
83
82
|
`in case you need additional steps for your subscripotions.`
|
|
84
83
|
);
|
|
85
84
|
} else {
|
|
86
|
-
this.subscriptionEvent = new
|
|
85
|
+
this.subscriptionEvent = new DynamoNTS_SocketEvent<SocketIO.Socket>({ event: DynamoNTS_SocketEventType.subscribe });
|
|
87
86
|
}
|
|
88
87
|
if (this.getSubscriptionPreProcessess) {
|
|
89
88
|
this.subscriptionEvent.preProcessess.push(...this.getSubscriptionPreProcessess());
|
|
@@ -92,12 +91,12 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
92
91
|
this.subscriptionEvent.tasks.push(...this.getSubscriptionTasks());
|
|
93
92
|
}
|
|
94
93
|
|
|
95
|
-
const disconnectEventIndex = this.incomingEvents.findIndex((event:
|
|
94
|
+
const disconnectEventIndex = this.incomingEvents.findIndex((event: DynamoNTS_SocketEvent<any>) => event.event === DynamoNTS_SocketEventType.disconnect);
|
|
96
95
|
if (0 <= disconnectEventIndex) {
|
|
97
96
|
this.incomingEvents[disconnectEventIndex].tasks.push(this.removeSubscriptionOnDisconnect);
|
|
98
97
|
} else {
|
|
99
|
-
this.incomingEvents.push(new
|
|
100
|
-
event:
|
|
98
|
+
this.incomingEvents.push(new DynamoNTS_SocketEvent<SocketIO.Socket>({
|
|
99
|
+
event: DynamoNTS_SocketEventType.disconnect,
|
|
101
100
|
tasks: [
|
|
102
101
|
this.removeSubscriptionOnDisconnect
|
|
103
102
|
]
|
|
@@ -107,26 +106,26 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
107
106
|
this.subscriptionEvent.socketName = this.params.name;
|
|
108
107
|
}
|
|
109
108
|
|
|
110
|
-
this.incomingEvents.forEach((event:
|
|
109
|
+
this.incomingEvents.forEach((event: DynamoNTS_SocketEvent<any>) => {
|
|
111
110
|
event.socketName = this.params.name;
|
|
112
111
|
});
|
|
113
112
|
}
|
|
114
113
|
|
|
115
114
|
async setupSocketServer(newSocketServer: SocketIO.Server): Promise<void> {
|
|
116
115
|
this.socketServer = newSocketServer;
|
|
117
|
-
this.socketServer.on(
|
|
116
|
+
this.socketServer.on(DynamoNTS_SocketEventType.connection, async (socket: SocketIO.Socket) => {
|
|
118
117
|
let issuer: string;
|
|
119
118
|
|
|
120
|
-
for(let i = 0; i < this.connectEvent.preProcessess.length; i++) {
|
|
119
|
+
for (let i = 0; i < this.connectEvent.preProcessess.length; i++) {
|
|
121
120
|
await this.connectEvent.preProcessess[i](socket);
|
|
122
121
|
}
|
|
123
122
|
|
|
124
|
-
for(let i = 0; i < this.connectEvent.tasks.length; i++) {
|
|
123
|
+
for (let i = 0; i < this.connectEvent.tasks.length; i++) {
|
|
125
124
|
await this.connectEvent.tasks[i](socket);
|
|
126
125
|
}
|
|
127
126
|
|
|
128
127
|
if (this.getPresenceFromSubscrioptionEventContent) {
|
|
129
|
-
socket.on(
|
|
128
|
+
socket.on(DynamoNTS_SocketEventType.subscribe, async (content: any) => {
|
|
130
129
|
try {
|
|
131
130
|
const presence: T_Presence = await this.getPresenceFromSubscrioptionEventContent(content);
|
|
132
131
|
issuer = presence.issuerId;
|
|
@@ -135,18 +134,18 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
135
134
|
await this.subscriptionEvent.executeEventTasks(issuer, content);
|
|
136
135
|
} catch (error) {
|
|
137
136
|
Dynamo_Log.error(`Socket Subscription failed: ${this.params.name} (${this.params.port})`, error);
|
|
138
|
-
socket.emit(
|
|
137
|
+
socket.emit(DynamoNTS_SocketEventType.error, error);
|
|
139
138
|
}
|
|
140
139
|
})
|
|
141
140
|
}
|
|
142
141
|
|
|
143
|
-
this.incomingEvents.forEach((event:
|
|
142
|
+
this.incomingEvents.forEach((event: DynamoNTS_SocketEvent<any>) => {
|
|
144
143
|
socket.on(event.event, async (content: any) => {
|
|
145
144
|
try {
|
|
146
145
|
await event.executeEventTasks(issuer, content);
|
|
147
146
|
} catch (error) {
|
|
148
147
|
Dynamo_Log.error(`Socket Event failed: ${this.params.name} (${this.params.port})`, error);
|
|
149
|
-
socket.emit(
|
|
148
|
+
socket.emit(DynamoNTS_SocketEventType.error, error);
|
|
150
149
|
}
|
|
151
150
|
});
|
|
152
151
|
});
|
|
@@ -191,7 +190,7 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
191
190
|
}
|
|
192
191
|
|
|
193
192
|
emitError(presenceIssuerId: string, error: any): void {
|
|
194
|
-
this.sendEventForId(presenceIssuerId,
|
|
193
|
+
this.sendEventForId(presenceIssuerId, DynamoNTS_SocketEventType.error, error);
|
|
195
194
|
}
|
|
196
195
|
|
|
197
196
|
async sendEventForId(id: string, event: string, content: any, error?: (err: any) => void): Promise<void> {
|
|
@@ -220,14 +219,13 @@ export abstract class DynamoNTS_SocketService<T_Presence extends DynamoNTS_Socke
|
|
|
220
219
|
|
|
221
220
|
/**
|
|
222
221
|
* You must setup params for the service in this function
|
|
223
|
-
*
|
|
224
222
|
*/
|
|
225
|
-
abstract getServiceParams():
|
|
223
|
+
abstract getServiceParams(): DynamoNTS_SocketServerServiceParams;
|
|
226
224
|
|
|
227
225
|
/**
|
|
228
226
|
* You must setup events and required services in this function
|
|
229
227
|
*/
|
|
230
|
-
abstract getIncomingEvents():
|
|
228
|
+
abstract getIncomingEvents(): DynamoNTS_SocketEvent<any>[];
|
|
231
229
|
|
|
232
230
|
/**
|
|
233
231
|
* You can setup tasks for the subscription event in this function
|
package/src/_services/index.ts
CHANGED
|
@@ -14,8 +14,8 @@ export * from './dynamo-nts-email-service-collection.service';
|
|
|
14
14
|
export * from './dynamo-nts-email.service';
|
|
15
15
|
export * from './dynamo-nts-global.service';
|
|
16
16
|
export * from './dynamo-nts-routing-module.service';
|
|
17
|
-
export * from './dynamo-nts-socket.service';
|
|
18
|
-
export * from './dynamo-nts-socket-service-collection.service';
|
|
17
|
+
export * from './dynamo-nts-socket-server.service';
|
|
18
|
+
export * from './dynamo-nts-socket-server-service-collection.service';
|
|
19
19
|
export * from './dynamo-nts-shared.service';
|
|
20
20
|
export * from './dynamo-nts-singleton.service';
|
|
21
21
|
|
package/src/_interfaces/index.ts
DELETED
/package/src/_models/{dynamo-nts-app-params.ts → control-models/dynamo-nts-app-params.model.ts}
RENAMED
|
File without changes
|
|
File without changes
|
/package/src/{_interfaces → _models/interfaces}/dynamo-nts-certification-settings.interface.ts
RENAMED
|
File without changes
|
|
File without changes
|