@futdevpro/nts-dynamo 1.5.35 → 1.5.36

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.
@@ -1,14 +1,19 @@
1
1
  import { DynamoNTS_SocketSecurity } from '../_enums/dynamo-nts-socket-security.enum';
2
- import { DynamoNTS_SocketEventParams } from './dynamo-nts-socket-event-params';
3
2
  /**
4
3
  *
5
4
  */
6
- export interface DynamoNTS_SocketServiceSettings {
5
+ export declare class DynamoNTS_SocketServiceSettings {
7
6
  name: string;
8
7
  port: number;
9
8
  security?: DynamoNTS_SocketSecurity;
10
9
  groupActiveSocketsBy?: string;
11
- events: DynamoNTS_SocketEventParams<any>[];
12
10
  getIdFromSubscrioption?: (content: any) => string;
11
+ constructor(set: {
12
+ name: string;
13
+ port: number;
14
+ security?: DynamoNTS_SocketSecurity;
15
+ groupActiveSocketsBy?: string;
16
+ getIdFromSubscrioption?: (content: any) => string;
17
+ });
13
18
  }
14
19
  //# sourceMappingURL=dynamo-nts-socket-module-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-socket-module-settings.d.ts","sourceRoot":"","sources":["../../src/_models/dynamo-nts-socket-module-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,MAAM,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD"}
1
+ {"version":3,"file":"dynamo-nts-socket-module-settings.d.ts","sourceRoot":"","sources":["../../src/_models/dynamo-nts-socket-module-settings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF;;GAEG;AACH,qBAAa,+BAA+B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;gBAGhD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,wBAAwB,CAAC;QACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAE9B,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC;KACnD;CAiBJ"}
@@ -1,3 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoNTS_SocketServiceSettings = void 0;
4
+ const _constants_1 = require("../_constants");
5
+ const _services_1 = require("../_services");
6
+ /**
7
+ *
8
+ */
9
+ class DynamoNTS_SocketServiceSettings {
10
+ constructor(set) {
11
+ this.name = set.name;
12
+ this.port = set.port;
13
+ this.security = set.security ? set.security : _constants_1.dynamoNTS_GlobalSettings.defaultSocketSecurity;
14
+ if (set.getIdFromSubscrioption) {
15
+ this.getIdFromSubscrioption = set.getIdFromSubscrioption;
16
+ if (set.groupActiveSocketsBy) {
17
+ _services_1.DynamoNTS_Shared.logError(`setting groupActiveSocketsBy on DynamoNTS_SocketService (${this.name}) won't take effect, ` +
18
+ `since getIdFromSubscrioption is also setted, so it will be used instead`);
19
+ }
20
+ }
21
+ else if (set.groupActiveSocketsBy) {
22
+ this.getIdFromSubscrioption = content => content[set.groupActiveSocketsBy];
23
+ }
24
+ }
25
+ }
26
+ exports.DynamoNTS_SocketServiceSettings = DynamoNTS_SocketServiceSettings;
3
27
  //# sourceMappingURL=dynamo-nts-socket-module-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-socket-module-settings.js","sourceRoot":"","sources":["../../src/_models/dynamo-nts-socket-module-settings.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dynamo-nts-socket-module-settings.js","sourceRoot":"","sources":["../../src/_models/dynamo-nts-socket-module-settings.ts"],"names":[],"mappings":";;;AACA,8CAAyD;AAEzD,4CAAgD;AAEhD;;GAEG;AACH,MAAa,+BAA+B;IAQ1C,YACE,GAOC;QAED,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,qCAAwB,CAAC,qBAAqB,CAAC;QAE7F,IAAI,GAAG,CAAC,sBAAsB,EAAE;YAC9B,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC;YACzD,IAAI,GAAG,CAAC,oBAAoB,EAAE;gBAC5B,4BAAgB,CAAC,QAAQ,CACvB,4DAA4D,IAAI,CAAC,IAAI,uBAAuB;oBAC5F,yEAAyE,CAAC,CAAA;aAC7E;SACF;aAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE;YACnC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SAC5E;IACH,CAAC;CACF;AAjCD,0EAiCC"}
@@ -2,7 +2,7 @@ import * as SocketIO from 'socket.io';
2
2
  import { DynamoNTS_SocketServiceSettings } from '../_models';
3
3
  import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
4
4
  import { DynamoNTS_SocketEventParams } from '../_models/dynamo-nts-socket-event-params';
5
- import { DynamoNTS_SocketSecurity } from '../_enums/dynamo-nts-socket-security.enum';
5
+ import { DynamoNTS_SocketSecurity } from '../_enums';
6
6
  export interface DynamoNTS_SocketDictionary {
7
7
  id?: string;
8
8
  sockets: SocketIO.Socket[];
@@ -10,18 +10,19 @@ export interface DynamoNTS_SocketDictionary {
10
10
  /**
11
11
  *
12
12
  */
13
- export declare class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
14
- name: string;
15
- security: DynamoNTS_SocketSecurity;
16
- port: number;
17
- socketServer: SocketIO.Server;
18
- connectEvent: DynamoNTS_SocketEventParams<SocketIO.Socket>;
19
- events: DynamoNTS_SocketEventParams<any>[];
20
- subscriptionEvent: DynamoNTS_SocketEventParams<any>;
21
- getIdFromSubscrioption?: <T>(content: T) => string;
22
- activeSockets: DynamoNTS_SocketDictionary[];
13
+ export declare abstract class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
14
+ protected params: DynamoNTS_SocketServiceSettings;
15
+ get name(): string;
16
+ get security(): DynamoNTS_SocketSecurity;
17
+ get port(): number;
18
+ protected socketServer: SocketIO.Server;
19
+ private connectEvent;
20
+ protected events: DynamoNTS_SocketEventParams<any>[];
21
+ private subscriptionEvent;
22
+ private getIdFromSubscrioption?;
23
+ private activeSockets;
23
24
  protected log: boolean;
24
- constructor(set: DynamoNTS_SocketServiceSettings);
25
+ constructor();
25
26
  private attachToGlobalCollection;
26
27
  /**
27
28
  * You must setup events and required services for this function
@@ -32,5 +33,14 @@ export declare class DynamoNTS_SocketService extends DynamoNTS_SingletonService
32
33
  private removeSubscriptionOnDisconnect;
33
34
  emitEvent(event: string, content: any): void;
34
35
  emitEventForId(id: string, event: string, content: any): void;
36
+ /**
37
+ * You must setup params for the service in this function
38
+ *
39
+ */
40
+ abstract setupServiceParams(): void;
41
+ /**
42
+ * You must setup events and required services in this function
43
+ */
44
+ abstract setupEvents(): void;
35
45
  }
36
46
  //# sourceMappingURL=dynamo-nts-socket.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-socket.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-socket.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,WAAW,0BAA0B;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,0BAA0B;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IAEb,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;IAE9B,YAAY,EAAE,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;IAE3C,iBAAiB,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACpD,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC;IACnD,aAAa,EAAE,0BAA0B,EAAE,CAAM;IAEjD,SAAS,CAAC,GAAG,EAAE,OAAO,CAAqC;gBAGzD,GAAG,EAAE,+BAA+B;IA6BtC,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI;YAkC3C,kBAAkB;YASlB,8BAA8B;IAW5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAI5C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;CAU9D"}
1
+ {"version":3,"file":"dynamo-nts-socket.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-socket.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,0BAA0B;IAC9E,SAAS,CAAC,MAAM,EAAE,+BAA+B,CAAC;IAClD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,QAAQ,IAAI,wBAAwB,CAEvC;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;IAExC,OAAO,CAAC,YAAY,CAA+C;IACnE,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;IAErD,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,sBAAsB,CAAC,CAA4B;IAC3D,OAAO,CAAC,aAAa,CAAoC;IAEzD,SAAS,CAAC,GAAG,EAAE,OAAO,CAAqC;;IAkB3D,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI;YAkC3C,kBAAkB;YASlB,8BAA8B;IAW5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAI5C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAW7D;;;OAGG;IACF,QAAQ,CAAC,kBAAkB,IAAI,IAAI;IAEpC;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,IAAI;CAC7B"}
@@ -13,34 +13,31 @@ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
13
13
  *
14
14
  */
15
15
  class DynamoNTS_SocketService extends dynamo_nts_singleton_service_1.DynamoNTS_SingletonService {
16
- constructor(set) {
16
+ constructor() {
17
17
  super();
18
18
  this.activeSockets = [];
19
19
  this.log = dynamo_nts_global_settings_1.dynamoNTS_GlobalSettings.logSetup;
20
20
  try {
21
- this.name = set.name;
22
- this.port = set.port;
23
- this.events = set.events;
24
- this.security = set.security ? set.security : dynamo_nts_global_settings_1.dynamoNTS_GlobalSettings.defaultSocketSecurity;
25
- if (set.getIdFromSubscrioption) {
26
- this.getIdFromSubscrioption = set.getIdFromSubscrioption;
27
- if (set.groupActiveSocketsBy) {
28
- dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`setting groupActiveSocketsBy on DynamoNTS_SocketService (${this.name}) won't take effect, ` +
29
- `since getIdFromSubscrioption is also setted, so it will be used instead`);
30
- }
31
- }
32
- else if (set.groupActiveSocketsBy) {
33
- this.getIdFromSubscrioption = content => content[set.groupActiveSocketsBy];
34
- }
21
+ this.setupServiceParams();
22
+ this.setupEvents();
35
23
  this.attachToGlobalCollection();
36
24
  this.prepareEvents();
37
25
  if (this.log)
38
- console.log(`Socket Controller setup done: ${this.name} (${this.port}) serurity: ${this.security}\n`);
26
+ console.log(`Socket Controller setup done: ${this.params.name} (${this.params.port}) serurity: ${this.params.security}\n`);
39
27
  }
40
28
  catch (error) {
41
- dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`Socket Controller setup failed: ${this.name} (${this.port})`, error);
29
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`Socket Controller setup failed: ${this.params.name} (${this.params.port})`, error);
42
30
  }
43
31
  }
32
+ get name() {
33
+ return this.params.name;
34
+ }
35
+ get security() {
36
+ return this.params.security;
37
+ }
38
+ get port() {
39
+ return this.params.port;
40
+ }
44
41
  attachToGlobalCollection() {
45
42
  dynamo_nts_global_service_1.DynamoNTS_GlobalService.attachNewSocketService(this);
46
43
  }
@@ -104,10 +101,10 @@ class DynamoNTS_SocketService extends dynamo_nts_singleton_service_1.DynamoNTS_S
104
101
  socket.on(event.event, event.getFullExecution(issuer));
105
102
  });
106
103
  }));
107
- this.socketServer.listen(this.port);
104
+ this.socketServer.listen(this.params.port);
108
105
  if (this.log)
109
- console.log(`\nsocket service setup finished: ${this.name}` +
110
- `\nsocket server listening on port: ${this.port}`);
106
+ console.log(`\nsocket service setup finished: ${this.params.name}` +
107
+ `\nsocket server listening on port: ${this.params.port}`);
111
108
  }
112
109
  socketSubscription(newSocket, id) {
113
110
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-socket.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-socket.service.ts"],"names":[],"mappings":";;;;AAGA,yFAAoF;AACpF,2EAA+D;AAE/D,iFAA4E;AAC5E,8FAAwF;AACxF,wEAAyE;AACzE,2EAAsE;AACtE,sDAAwD;AAQxD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,yDAA0B;IAgBrE,YACE,GAAoC;QAEpC,KAAK,EAAE,CAAC;QAPV,kBAAa,GAAiC,EAAE,CAAC;QAEvC,QAAG,GAAY,qDAAwB,CAAC,QAAQ,CAAC;QAMzD,IAAI;YACF,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,qDAAwB,CAAC,qBAAqB,CAAC;YAE7F,IAAI,GAAG,CAAC,sBAAsB,EAAE;gBAC9B,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC;gBACzD,IAAI,GAAG,CAAC,oBAAoB,EAAE;oBAC5B,4CAAgB,CAAC,QAAQ,CACvB,4DAA4D,IAAI,CAAC,IAAI,uBAAuB;wBAC5F,yEAAyE,CAAC,CAAA;iBAC7E;aACF;iBAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE;gBACnC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aAC5E;YAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SACrH;QAAC,OAAO,KAAK,EAAE;YACd,4CAAgB,CAAC,QAAQ,CAAC,mCAAmC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;SACjG;IACH,CAAC;IAEO,wBAAwB;QAC9B,mDAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAuC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,yCAAqB,CAAC,UAAU,CAAC,CAAC;QAC/I,IAAI,CAAC,IAAI,iBAAiB,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,4DAA2B,CAAC;gBAClD,KAAK,EAAE,yCAAqB,CAAC,UAAU;gBACvC,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAuC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,yCAAqB,CAAC,SAAS,CAAC,CAAC;YACnJ,IAAI,CAAC,IAAI,sBAAsB,EAAE;gBAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,4DAA2B,CAAkB;oBACxE,KAAK,EAAE,yCAAqB,CAAC,SAAS;oBACtC,KAAK,EAAE,EAAE;iBACV,CAAC,CAAC;aACJ;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAuC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,yCAAqB,CAAC,UAAU,CAAC,CAAC;YAClJ,IAAI,CAAC,IAAI,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;aACnF;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,4DAA2B,CAAkB;oBAChE,KAAK,EAAE,yCAAqB,CAAC,UAAU;oBACvC,KAAK,EAAE;wBACL,IAAI,CAAC,8BAA8B;qBACpC;iBACF,CAAC,CAAC,CAAC;aACL;SACF;IACH,CAAC;IAED,iBAAiB,CAAC,eAAgC;QAChD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,yCAAqB,CAAC,UAAU,EAAE,CAAO,MAAuB,EAAE,EAAE;YACvF,IAAI,MAAc,CAAC;YAEnB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAClD;YAED,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC1C;YAED,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,MAAM,CAAC,EAAE,CAAC,yCAAqB,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;oBAC1D,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAA;aACH;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAuC,EAAE,EAAE;gBAC9D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,GAAG,CACvB,oCAAoC,IAAI,CAAC,IAAI,EAAE;gBAC/C,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAClD,CAAC;IACJ,CAAC;IAEa,kBAAkB,CAAC,SAA0B,EAAE,EAAU;;YACrE,MAAM,YAAY,GAA+B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAA+B,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7H,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAE,SAAS,CAAE,EAAE,CAAC,CAAC;aACzD;QACH,CAAC;KAAA;IAEa,8BAA8B,CAAC,MAAuB;;YAClE,MAAM,iBAAiB,GAAW,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAA+B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAClI,IAAI,CAAC,IAAI,iBAAiB,EAAE;gBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;gBAClH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iBAC9C;aACF;QACH,CAAC;KAAA;IAED,SAAS,CAAC,KAAa,EAAE,OAAY;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,KAAa,EAAE,OAAY;QACpD,MAAM,GAAG,GAA+B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAA+B,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpH,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;gBAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,4BAAe,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,EAAE,EAAE,CAAC,CAAC;SACzF;IACH,CAAC;CACF;AA7JD,0DA6JC"}
1
+ {"version":3,"file":"dynamo-nts-socket.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-socket.service.ts"],"names":[],"mappings":"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"}
@@ -927,8 +927,8 @@
927
927
  "affectsGlobalScope": false
928
928
  },
929
929
  "../src/_services/dynamo-nts-socket.service.ts": {
930
- "version": "7b4834e4306848843885fcd09090ce773f7020e8e8dc02267fd633193afb5048",
931
- "signature": "82c8cd412b5d2741fe8f137eb8c2371e08dc53532ecaa52b19fc841a514e703e",
930
+ "version": "91580b6783498e3071777a23ce9777ca13800fbeb6f511666167ac5e402faf2e",
931
+ "signature": "0678e6cc7b50b35d14f22c9e913648eae07375def51924540bf6c1a181c6c0d4",
932
932
  "affectsGlobalScope": false
933
933
  },
934
934
  "../src/_services/dynamo-nts-socket-service-collection.service.ts": {
@@ -992,8 +992,8 @@
992
992
  "affectsGlobalScope": false
993
993
  },
994
994
  "../src/_models/dynamo-nts-socket-module-settings.ts": {
995
- "version": "de2a33ce44aa138eb17d90a5de4d846b707549b48534f467d1a865135aa5bca9",
996
- "signature": "4492dd27ecedf7e9657b5ee6d8a619b860cd7f7b80e66f4ebbf4d83dfdb42260",
995
+ "version": "bf22f35c6d7993e43a2d36ab0086c5513db68db97425cc1c4bbc637406e1b8fe",
996
+ "signature": "2dd22b63291a3dce2a1d4bd0af9fe01209087643ebb1fb579098d450d3c62a18",
997
997
  "affectsGlobalScope": false
998
998
  },
999
999
  "../src/_models/index.ts": {
@@ -2962,8 +2962,9 @@
2962
2962
  "../node_modules/@types/node/ts3.2/process.d.ts",
2963
2963
  "../node_modules/@types/node/ts3.2/util.d.ts",
2964
2964
  "../node_modules/@types/node/util.d.ts",
2965
+ "../src/_constants/index.ts",
2965
2966
  "../src/_enums/dynamo-nts-socket-security.enum.ts",
2966
- "../src/_models/dynamo-nts-socket-event-params.ts"
2967
+ "../src/_services/index.ts"
2967
2968
  ],
2968
2969
  "../src/_models/index.ts": [
2969
2970
  "../node_modules/@types/node/fs.d.ts",
@@ -3378,8 +3379,8 @@
3378
3379
  "../node_modules/@types/node/util.d.ts",
3379
3380
  "../node_modules/socket.io/dist/index.d.ts",
3380
3381
  "../src/_constants/dynamo-nts-global.settings.ts",
3381
- "../src/_enums/dynamo-nts-socket-security.enum.ts",
3382
3382
  "../src/_enums/http/socket-event.enum.ts",
3383
+ "../src/_enums/index.ts",
3383
3384
  "../src/_models/dynamo-nts-socket-event-params.ts",
3384
3385
  "../src/_models/index.ts",
3385
3386
  "../src/_services/dynamo-nts-global.service.ts",
@@ -5134,8 +5135,7 @@
5134
5135
  "../src/_enums/http/socket-event.enum.ts"
5135
5136
  ],
5136
5137
  "../src/_models/dynamo-nts-socket-module-settings.ts": [
5137
- "../src/_enums/dynamo-nts-socket-security.enum.ts",
5138
- "../src/_models/dynamo-nts-socket-event-params.ts"
5138
+ "../src/_enums/dynamo-nts-socket-security.enum.ts"
5139
5139
  ],
5140
5140
  "../src/_models/index.ts": [
5141
5141
  "../src/_models/dynamo-nts-api-call-params.ts",
@@ -5306,7 +5306,7 @@
5306
5306
  ],
5307
5307
  "../src/_services/dynamo-nts-socket.service.ts": [
5308
5308
  "../node_modules/socket.io/dist/index.d.ts",
5309
- "../src/_enums/dynamo-nts-socket-security.enum.ts",
5309
+ "../src/_enums/index.ts",
5310
5310
  "../src/_models/dynamo-nts-socket-event-params.ts",
5311
5311
  "../src/_models/index.ts",
5312
5312
  "../src/_services/dynamo-nts-singleton.service.ts"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.05.35",
3
+ "version": "01.05.36",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Ltd.",
5
5
  "scripts": {
6
6
  "build": "npx tsc",
@@ -1,16 +1,42 @@
1
1
 
2
+ import { dynamoNTS_GlobalSettings } from '../_constants';
2
3
  import { DynamoNTS_SocketSecurity } from '../_enums/dynamo-nts-socket-security.enum';
3
- import { DynamoNTS_SocketEventParams } from './dynamo-nts-socket-event-params';
4
+ import { DynamoNTS_Shared } from '../_services';
4
5
 
5
6
  /**
6
7
  *
7
8
  */
8
- export interface DynamoNTS_SocketServiceSettings {
9
+ export class DynamoNTS_SocketServiceSettings {
9
10
  name: string;
10
11
  port: number;
11
12
  security?: DynamoNTS_SocketSecurity;
12
13
  groupActiveSocketsBy?: string;
13
14
 
14
- events: DynamoNTS_SocketEventParams<any>[];
15
15
  getIdFromSubscrioption?: (content: any) => string;
16
+
17
+ constructor(
18
+ set: {
19
+ name: string,
20
+ port: number,
21
+ security?: DynamoNTS_SocketSecurity,
22
+ groupActiveSocketsBy?: string,
23
+
24
+ getIdFromSubscrioption?: (content: any) => string,
25
+ }
26
+ ) {
27
+ this.name = set.name;
28
+ this.port = set.port;
29
+ this.security = set.security ? set.security : dynamoNTS_GlobalSettings.defaultSocketSecurity;
30
+
31
+ if (set.getIdFromSubscrioption) {
32
+ this.getIdFromSubscrioption = set.getIdFromSubscrioption;
33
+ if (set.groupActiveSocketsBy) {
34
+ DynamoNTS_Shared.logError(
35
+ `setting groupActiveSocketsBy on DynamoNTS_SocketService (${this.name}) won't take effect, ` +
36
+ `since getIdFromSubscrioption is also setted, so it will be used instead`)
37
+ }
38
+ } else if (set.groupActiveSocketsBy) {
39
+ this.getIdFromSubscrioption = content => content[set.groupActiveSocketsBy];
40
+ }
41
+ }
16
42
  }
@@ -9,7 +9,7 @@ import { DynamoNTS_SocketEventParams } from '../_models/dynamo-nts-socket-event-
9
9
  import { DynamoNTS_SocketEvent } from '../_enums/http/socket-event.enum';
10
10
  import { DynamoNTS_GlobalService } from './dynamo-nts-global.service';
11
11
  import { DynamoNTS_Error } from '@futdevpro/fsm-dynamo';
12
- import { DynamoNTS_SocketSecurity } from '../_enums/dynamo-nts-socket-security.enum';
12
+ import { DynamoNTS_SocketSecurity } from '../_enums';
13
13
 
14
14
  export interface DynamoNTS_SocketDictionary {
15
15
  id?: string;
@@ -19,49 +19,42 @@ export interface DynamoNTS_SocketDictionary {
19
19
  /**
20
20
  *
21
21
  */
22
- export class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
23
- name: string;
24
- security: DynamoNTS_SocketSecurity;
25
- port: number;
22
+ export abstract class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
23
+ protected params: DynamoNTS_SocketServiceSettings;
24
+ get name(): string {
25
+ return this.params.name;
26
+ }
27
+ get security(): DynamoNTS_SocketSecurity {
28
+ return this.params.security;
29
+ }
30
+ get port(): number {
31
+ return this.params.port;
32
+ }
26
33
 
27
- socketServer: SocketIO.Server;
34
+ protected socketServer: SocketIO.Server;
28
35
 
29
- connectEvent: DynamoNTS_SocketEventParams<SocketIO.Socket>;
30
- events: DynamoNTS_SocketEventParams<any>[];
36
+ private connectEvent: DynamoNTS_SocketEventParams<SocketIO.Socket>;
37
+ protected events: DynamoNTS_SocketEventParams<any>[];
31
38
 
32
- subscriptionEvent: DynamoNTS_SocketEventParams<any>;
33
- getIdFromSubscrioption?: <T>(content: T) => string;
34
- activeSockets: DynamoNTS_SocketDictionary[] = [];
39
+ private subscriptionEvent: DynamoNTS_SocketEventParams<any>;
40
+ private getIdFromSubscrioption?: <T>(content: T) => string;
41
+ private activeSockets: DynamoNTS_SocketDictionary[] = [];
35
42
 
36
43
  protected log: boolean = dynamoNTS_GlobalSettings.logSetup;
37
44
 
38
- constructor(
39
- set: DynamoNTS_SocketServiceSettings
40
- ){
45
+ constructor(){
41
46
  super();
47
+
42
48
  try {
43
- this.name = set.name;
44
- this.port = set.port;
45
- this.events = set.events;
46
- this.security = set.security ? set.security : dynamoNTS_GlobalSettings.defaultSocketSecurity;
49
+ this.setupServiceParams();
50
+ this.setupEvents();
47
51
 
48
- if (set.getIdFromSubscrioption) {
49
- this.getIdFromSubscrioption = set.getIdFromSubscrioption;
50
- if (set.groupActiveSocketsBy) {
51
- DynamoNTS_Shared.logError(
52
- `setting groupActiveSocketsBy on DynamoNTS_SocketService (${this.name}) won't take effect, ` +
53
- `since getIdFromSubscrioption is also setted, so it will be used instead`)
54
- }
55
- } else if (set.groupActiveSocketsBy) {
56
- this.getIdFromSubscrioption = content => content[set.groupActiveSocketsBy];
57
- }
58
-
59
52
  this.attachToGlobalCollection();
60
53
  this.prepareEvents();
61
54
 
62
- if (this.log) console.log(`Socket Controller setup done: ${this.name} (${this.port}) serurity: ${this.security}\n`);
55
+ if (this.log) console.log(`Socket Controller setup done: ${this.params.name} (${this.params.port}) serurity: ${this.params.security}\n`);
63
56
  } catch (error) {
64
- DynamoNTS_Shared.logError(`Socket Controller setup failed: ${this.name} (${this.port})`, error);
57
+ DynamoNTS_Shared.logError(`Socket Controller setup failed: ${this.params.name} (${this.params.port})`, error);
65
58
  }
66
59
  }
67
60
 
@@ -134,11 +127,11 @@ export class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
134
127
  });
135
128
  });
136
129
 
137
- this.socketServer.listen(this.port);
130
+ this.socketServer.listen(this.params.port);
138
131
 
139
132
  if (this.log) console.log(
140
- `\nsocket service setup finished: ${this.name}` +
141
- `\nsocket server listening on port: ${this.port}`
133
+ `\nsocket service setup finished: ${this.params.name}` +
134
+ `\nsocket server listening on port: ${this.params.port}`
142
135
  );
143
136
  }
144
137
 
@@ -176,4 +169,15 @@ export class DynamoNTS_SocketService extends DynamoNTS_SingletonService {
176
169
  throw new DynamoNTS_Error({ message: `No active socket whit this specific ID: ${id}` });
177
170
  }
178
171
  }
172
+
173
+ /**
174
+ * You must setup params for the service in this function
175
+ *
176
+ */
177
+ abstract setupServiceParams(): void
178
+
179
+ /**
180
+ * You must setup events and required services in this function
181
+ */
182
+ abstract setupEvents(): void
179
183
  }