@futdevpro/nts-dynamo 1.15.7 → 1.15.9

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.
Files changed (90) hide show
  1. package/__documentations/nts-integration-tests-2026-03-17.md +26 -0
  2. package/build/_collections/default-fallback-cache-max-age.const.d.ts +3 -0
  3. package/build/_collections/default-fallback-cache-max-age.const.d.ts.map +1 -0
  4. package/build/_collections/default-fallback-cache-max-age.const.js +6 -0
  5. package/build/_collections/default-fallback-cache-max-age.const.js.map +1 -0
  6. package/build/_collections/default-not-found-page.const.d.ts +6 -0
  7. package/build/_collections/default-not-found-page.const.d.ts.map +1 -0
  8. package/build/_collections/default-not-found-page.const.js +25 -0
  9. package/build/_collections/default-not-found-page.const.js.map +1 -0
  10. package/build/_collections/default-socket-path.const.d.ts +3 -0
  11. package/build/_collections/default-socket-path.const.d.ts.map +1 -0
  12. package/build/_collections/default-socket-path.const.js +6 -0
  13. package/build/_collections/default-socket-path.const.js.map +1 -0
  14. package/build/_models/control-models/http-settings.control-model.d.ts +7 -0
  15. package/build/_models/control-models/http-settings.control-model.d.ts.map +1 -1
  16. package/build/_models/control-models/http-settings.control-model.js +7 -0
  17. package/build/_models/control-models/http-settings.control-model.js.map +1 -1
  18. package/build/_models/interfaces/static-client-settings.interface.d.ts +29 -0
  19. package/build/_models/interfaces/static-client-settings.interface.d.ts.map +1 -0
  20. package/build/_models/interfaces/static-client-settings.interface.js +3 -0
  21. package/build/_models/interfaces/static-client-settings.interface.js.map +1 -0
  22. package/build/_modules/mock/app-extended-server.mock.js +2 -2
  23. package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
  24. package/build/_modules/mock/app-integration-test.mock.d.ts +20 -0
  25. package/build/_modules/mock/app-integration-test.mock.d.ts.map +1 -0
  26. package/build/_modules/mock/app-integration-test.mock.js +46 -0
  27. package/build/_modules/mock/app-integration-test.mock.js.map +1 -0
  28. package/build/_modules/mock/app-server.mock.js +2 -2
  29. package/build/_modules/mock/app-server.mock.js.map +1 -1
  30. package/build/_modules/mock/socket-client.mock.js +1 -1
  31. package/build/_modules/mock/socket-client.mock.js.map +1 -1
  32. package/build/_modules/mock/socket-server.mock.d.ts +1 -1
  33. package/build/_modules/mock/socket-server.mock.d.ts.map +1 -1
  34. package/build/_modules/mock/socket-server.mock.js +2 -8
  35. package/build/_modules/mock/socket-server.mock.js.map +1 -1
  36. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +4 -2
  37. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts.map +1 -1
  38. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +3 -1
  39. package/build/_modules/socket/_models/socket-server-service-params.control-model.js.map +1 -1
  40. package/build/_modules/socket/_services/socket-server.service.d.ts +9 -2
  41. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  42. package/build/_modules/socket/_services/socket-server.service.js +27 -11
  43. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  44. package/build/_modules/socket/app-extended.server.d.ts +9 -2
  45. package/build/_modules/socket/app-extended.server.d.ts.map +1 -1
  46. package/build/_modules/socket/app-extended.server.js +42 -25
  47. package/build/_modules/socket/app-extended.server.js.map +1 -1
  48. package/build/_services/base/data.service.d.ts.map +1 -1
  49. package/build/_services/base/data.service.js +4 -5
  50. package/build/_services/base/data.service.js.map +1 -1
  51. package/build/_services/base/db.service.d.ts.map +1 -1
  52. package/build/_services/base/db.service.js +8 -0
  53. package/build/_services/base/db.service.js.map +1 -1
  54. package/build/_services/server/app.server.d.ts +18 -0
  55. package/build/_services/server/app.server.d.ts.map +1 -1
  56. package/build/_services/server/app.server.js +74 -2
  57. package/build/_services/server/app.server.js.map +1 -1
  58. package/build/index.d.ts +4 -0
  59. package/build/index.d.ts.map +1 -1
  60. package/build/index.js +4 -0
  61. package/build/index.js.map +1 -1
  62. package/nodemon.json +2 -1
  63. package/package.json +4 -4
  64. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -0
  65. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -0
  66. package/src/_collections/default-not-found-page.const.spec.ts +19 -0
  67. package/src/_collections/default-not-found-page.const.ts +22 -0
  68. package/src/_collections/default-socket-path.const.spec.ts +12 -0
  69. package/src/_collections/default-socket-path.const.ts +2 -0
  70. package/src/_models/control-models/http-settings.control-model.spec.ts +11 -0
  71. package/src/_models/control-models/http-settings.control-model.ts +8 -0
  72. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -0
  73. package/src/_models/interfaces/static-client-settings.interface.ts +28 -0
  74. package/src/_modules/mock/app-extended-server.mock.ts +2 -2
  75. package/src/_modules/mock/app-integration-test.mock.ts +51 -0
  76. package/src/_modules/mock/app-server.mock.ts +2 -2
  77. package/src/_modules/mock/socket-client.mock.spec.ts +1 -1
  78. package/src/_modules/mock/socket-client.mock.ts +1 -1
  79. package/src/_modules/mock/socket-server.mock.spec.ts +1 -1
  80. package/src/_modules/mock/socket-server.mock.ts +5 -13
  81. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +13 -0
  82. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +4 -2
  83. package/src/_modules/socket/_services/socket-server.service.ts +37 -6
  84. package/src/_modules/socket/app-extended.integration.spec.ts +85 -0
  85. package/src/_modules/socket/app-extended.server.ts +47 -40
  86. package/src/_services/base/data.service.ts +4 -7
  87. package/src/_services/base/db.service.ts +11 -3
  88. package/src/_services/route/routing-module.service.spec.ts +15 -0
  89. package/src/_services/server/app.server.ts +107 -2
  90. package/src/index.ts +4 -0
@@ -0,0 +1,26 @@
1
+ # NTS integration tests (unified host)
2
+
3
+ **Date:** 2026-03-17
4
+
5
+ ## Summary
6
+
7
+ First integration tests for dynamo-nts were added to cover the unified host behaviour (static client, API base path, socket path, default 404 page).
8
+
9
+ ## Additions
10
+
11
+ - **Integration mock:** [src/_modules/mock/app-integration-test.mock.ts](../src/_modules/mock/app-integration-test.mock.ts)
12
+ `DyNTS_AppIntegrationTest_Mock` extends `DyNTS_AppWbMock_Mock`, runs without DB, and provides:
13
+ - `getAppParams()` with no `dbName`/`dbUri`
14
+ - `getPortSettings()` with `httpPort: 54536`, `socketPath: '/socket'`
15
+ - `getApiBasePath()` returning `'/api'`
16
+ - `getStaticClientSettings()` returning `root` from static property `integrationStaticRoot` (set by the spec), no `fallbackPath` (so 404 uses default HTML)
17
+
18
+ - **Integration spec:** [src/_modules/socket/app-extended.integration.spec.ts](../src/_modules/socket/app-extended.integration.spec.ts)
19
+ - Uses a temp dir for static files and starts the app in `beforeAll`; stops app and removes temp dir in `afterAll`.
20
+ - Timeout set to 15s for this suite.
21
+ - Tests: app starts (`started === true`), GET non-existent path → 404 + default “Page not found” HTML, GET `/index.html` → 200 + static content, GET `/api/test-0/test-base` and `/api/test-0/test-simple` → 200 with expected body.
22
+
23
+ ## Conventions
24
+
25
+ - Same test style as existing NTS specs: Jasmine, `*.spec.ts`, run via `pnpm test` (build + jasmine).
26
+ - Port **54536** must be free when the integration spec runs (used by the mock app).
@@ -0,0 +1,3 @@
1
+ /** SPA fallback (pl. index.html) alapértelmezett cache max-age másodpercben (0 = ne cache-eljük). */
2
+ export declare const DyNTS_defaultFallbackCacheMaxAge: number;
3
+ //# sourceMappingURL=default-fallback-cache-max-age.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-fallback-cache-max-age.const.d.ts","sourceRoot":"","sources":["../../src/_collections/default-fallback-cache-max-age.const.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,eAAO,MAAM,gCAAgC,EAAE,MAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_defaultFallbackCacheMaxAge = void 0;
4
+ /** SPA fallback (pl. index.html) alapértelmezett cache max-age másodpercben (0 = ne cache-eljük). */
5
+ exports.DyNTS_defaultFallbackCacheMaxAge = 0;
6
+ //# sourceMappingURL=default-fallback-cache-max-age.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-fallback-cache-max-age.const.js","sourceRoot":"","sources":["../../src/_collections/default-fallback-cache-max-age.const.ts"],"names":[],"mappings":";;;AAAA,qGAAqG;AACxF,QAAA,gCAAgC,GAAW,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Alapértelmezett "Page not found" (404) HTML, amit a static client default fallbackjaként
3
+ * szolgálunk ki, ha nincs fallbackPath (nem-SPA mód) és a kérés nem egy létező static fájlra mutat.
4
+ */
5
+ export declare const DyNTS_defaultNotFoundPageHtml: string;
6
+ //# sourceMappingURL=default-not-found-page.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-not-found-page.const.d.ts","sourceRoot":"","sources":["../../src/_collections/default-not-found-page.const.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAiB/B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_defaultNotFoundPageHtml = void 0;
4
+ /**
5
+ * Alapértelmezett "Page not found" (404) HTML, amit a static client default fallbackjaként
6
+ * szolgálunk ki, ha nincs fallbackPath (nem-SPA mód) és a kérés nem egy létező static fájlra mutat.
7
+ */
8
+ exports.DyNTS_defaultNotFoundPageHtml = '<!DOCTYPE html>\n' +
9
+ '<html lang="en">\n' +
10
+ '<head>\n' +
11
+ ' <meta charset="utf-8">\n' +
12
+ ' <meta name="viewport" content="width=device-width, initial-scale=1">\n' +
13
+ ' <title>Page not found</title>\n' +
14
+ ' <style>\n' +
15
+ ' body { font-family: system-ui, sans-serif; margin: 2rem; text-align: center; }\n' +
16
+ ' h1 { font-size: 1.5rem; color: #333; }\n' +
17
+ ' p { color: #666; }\n' +
18
+ ' </style>\n' +
19
+ '</head>\n' +
20
+ '<body>\n' +
21
+ ' <h1>Page not found</h1>\n' +
22
+ ' <p>The requested resource could not be found.</p>\n' +
23
+ '</body>\n' +
24
+ '</html>\n';
25
+ //# sourceMappingURL=default-not-found-page.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-not-found-page.const.js","sourceRoot":"","sources":["../../src/_collections/default-not-found-page.const.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,6BAA6B,GACxC,mBAAmB;IACnB,oBAAoB;IACpB,UAAU;IACV,4BAA4B;IAC5B,0EAA0E;IAC1E,mCAAmC;IACnC,aAAa;IACb,sFAAsF;IACtF,8CAA8C;IAC9C,0BAA0B;IAC1B,cAAc;IACd,WAAW;IACX,UAAU;IACV,6BAA6B;IAC7B,uDAAuD;IACvD,WAAW;IACX,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Default Socket.IO path, ha a portSettings.socketPath nincs megadva. */
2
+ export declare const DyNTS_defaultSocketPath: string;
3
+ //# sourceMappingURL=default-socket-path.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-socket-path.const.d.ts","sourceRoot":"","sources":["../../src/_collections/default-socket-path.const.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_defaultSocketPath = void 0;
4
+ /** Default Socket.IO path, ha a portSettings.socketPath nincs megadva. */
5
+ exports.DyNTS_defaultSocketPath = '/socket';
6
+ //# sourceMappingURL=default-socket-path.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-socket-path.const.js","sourceRoot":"","sources":["../../src/_collections/default-socket-path.const.ts"],"names":[],"mappings":";;;AAAA,0EAA0E;AAC7D,QAAA,uBAAuB,GAAW,SAAS,CAAC"}
@@ -1,7 +1,14 @@
1
1
  import * as BodyParser from 'body-parser';
2
+ /**
3
+ * HTTP/HTTPS és Socket.IO port és body parser beállítások.
4
+ * socketPath: ha nincs megadva, DyNTS_defaultSocketPath marad;
5
+ * a kliensnek ugyanazt a path-ot kell használnia.
6
+ */
2
7
  export declare class DyNTS_Http_Settings {
3
8
  httpPort?: number;
4
9
  httpsPort?: number;
10
+ /** Socket.IO path (pl. '/ws'); ha üres, default: DyNTS_defaultSocketPath. */
11
+ socketPath?: string;
5
12
  httpUrlencoded?: BodyParser.OptionsUrlencoded;
6
13
  httpJson?: BodyParser.OptionsJson;
7
14
  httpsUrlencoded?: BodyParser.OptionsUrlencoded;
@@ -1 +1 @@
1
- {"version":3,"file":"http-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/http-settings.control-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAG3C;IACF,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,CAE/B;IACF,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAG5C;IACF,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAEhC;gBAGA,GAAG,CAAC,EAAE,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"http-settings.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/http-settings.control-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,cAAc,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAG3C;IACF,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,CAE/B;IACF,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAG5C;IACF,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAEhC;gBAGA,GAAG,CAAC,EAAE,mBAAmB;CAM5B"}
@@ -1,9 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_Http_Settings = void 0;
4
+ /**
5
+ * HTTP/HTTPS és Socket.IO port és body parser beállítások.
6
+ * socketPath: ha nincs megadva, DyNTS_defaultSocketPath marad;
7
+ * a kliensnek ugyanazt a path-ot kell használnia.
8
+ */
4
9
  class DyNTS_Http_Settings {
5
10
  httpPort;
6
11
  httpsPort;
12
+ /** Socket.IO path (pl. '/ws'); ha üres, default: DyNTS_defaultSocketPath. */
13
+ socketPath;
7
14
  httpUrlencoded = {
8
15
  limit: '50mb',
9
16
  extended: true,
@@ -1 +1 @@
1
- {"version":3,"file":"http-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/http-settings.control-model.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAC9B,QAAQ,CAAU;IAClB,SAAS,CAAU;IAEnB,cAAc,GAAkC;QAC9C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,QAAQ,GAA4B;QAClC,KAAK,EAAE,MAAM;KACd,CAAC;IACF,eAAe,GAAkC;QAC/C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,SAAS,GAA4B;QACnC,KAAK,EAAE,MAAM;KACd,CAAC;IAEF,YACE,GAAyB;QAEzB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA1BD,kDA0BC"}
1
+ {"version":3,"file":"http-settings.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/http-settings.control-model.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,MAAa,mBAAmB;IAC9B,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,6EAA6E;IAC7E,UAAU,CAAU;IAEpB,cAAc,GAAkC;QAC9C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,QAAQ,GAA4B;QAClC,KAAK,EAAE,MAAM;KACd,CAAC;IACF,eAAe,GAAkC;QAC/C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,SAAS,GAA4B;QACnC,KAAK,EAAE,MAAM;KACd,CAAC;IAEF,YACE,GAAyB;QAEzB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA5BD,kDA4BC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Beállítások a client static fájlok kiszolgálásához (pl. SPA) a '/' path alatt.
3
+ * Ha megadva, a getStaticClientSettings() által visszaadott értéket a base app
4
+ * a mountStaticClient() során használja (API route-ok után).
5
+ * A cache mezők SPA (pl. Angular) optimalizáláshoz opcionálisak; ha nincs kitöltve,
6
+ * viselkedés változatlan (alkalmas nem-SPA kiszolgálásra is).
7
+ */
8
+ export interface DyNTS_StaticClient_Settings {
9
+ /** A static fájlok könyvtárának path-ja (abszolút vagy process.cwd()-hez képest). */
10
+ root: string;
11
+ /** SPA fallback: ha a kérés nem egy fájlra mutat, ezt a fájlt szolgáljuk ki (pl. 'index.html'). */
12
+ fallbackPath?: string;
13
+ /**
14
+ * Static asset-ek (pl. JS, CSS) Cache-Control max-age másodpercben.
15
+ * SPA (Angular) hashed fájloknál pl. 1 év (31536000).
16
+ */
17
+ assetCacheMaxAge?: number;
18
+ /**
19
+ * Ha true és assetCacheMaxAge is megadva, Cache-Control-hoz hozzáadódik az immutable direktíva
20
+ * (Angular hashed fájlokra ideális).
21
+ */
22
+ assetCacheImmutable?: boolean;
23
+ /**
24
+ * Fallback (pl. index.html) Cache-Control max-age másodpercben.
25
+ * SPA esetén ajánlott 0, hogy a böngésző ne cache-elje az index.html-t (deploy után friss).
26
+ */
27
+ fallbackCacheMaxAge?: number;
28
+ }
29
+ //# sourceMappingURL=static-client-settings.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-client-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/static-client-settings.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=static-client-settings.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-client-settings.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/static-client-settings.interface.ts"],"names":[],"mappings":""}
@@ -78,7 +78,7 @@ class DyNTS_AppExtendedFull_Mock extends app_extended_server_1.DyNTS_AppExtended
78
78
  }
79
79
  getPortSettings() {
80
80
  return {
81
- httpPort: 54534,
81
+ httpPort: 0,
82
82
  };
83
83
  }
84
84
  getRoutingModules() {
@@ -139,7 +139,7 @@ class DyNTS_AppWbMock_Mock extends app_extended_server_1.DyNTS_AppExtended {
139
139
  }
140
140
  getPortSettings() {
141
141
  return {
142
- httpPort: 54535,
142
+ httpPort: 0,
143
143
  };
144
144
  }
145
145
  getRoutingModules() {
@@ -1 +1 @@
1
- {"version":3,"file":"app-extended-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-extended-server.mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-extended-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-extended-server.mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
2
+ import { DyNTS_Http_Settings } from '../../_models/control-models/http-settings.control-model';
3
+ import { DyNTS_StaticClient_Settings } from '../../_models/interfaces/static-client-settings.interface';
4
+ import { DyNTS_AppWbMock_Mock } from './app-extended-server.mock';
5
+ /**
6
+ * Integrációs tesztekhez használt mock app: DB nélkül indul, unified host beállításokkal
7
+ * (static client root, API base path, socket path). A static root-ot a spec állítja
8
+ * beforeAll-ban az integrationStaticRoot statikus property-n keresztül.
9
+ */
10
+ export declare class DyNTS_AppIntegrationTest_Mock extends DyNTS_AppWbMock_Mock {
11
+ /** A spec beforeAll-ban beállítja; getStaticClientSettings() ezt használja root-ként. */
12
+ static integrationStaticRoot: string;
13
+ getAppParams(): DyNTS_App_Params;
14
+ getPortSettings(): DyNTS_Http_Settings;
15
+ /** Az OS által kiosztott tényleges port; ready() után elérhető. */
16
+ get resolvedPort(): number;
17
+ getApiBasePath(): string;
18
+ getStaticClientSettings(): DyNTS_StaticClient_Settings | undefined;
19
+ }
20
+ //# sourceMappingURL=app-integration-test.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-integration-test.mock.d.ts","sourceRoot":"","sources":["../../../src/_modules/mock/app-integration-test.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,2DAA2D,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,oBAAoB;IAErE,yFAAyF;IACzF,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAM;IAEjC,YAAY,IAAI,gBAAgB;IAQhC,eAAe,IAAI,mBAAmB;IAO/C,mEAAmE;IACnE,IAAI,YAAY,IAAI,MAAM,CAIzB;IAEQ,cAAc,IAAI,MAAM;IAIxB,uBAAuB,IAAI,2BAA2B,GAAG,SAAS;CAS5E"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_AppIntegrationTest_Mock = void 0;
4
+ const app_params_control_model_1 = require("../../_models/control-models/app-params.control-model");
5
+ const app_extended_server_mock_1 = require("./app-extended-server.mock");
6
+ /**
7
+ * Integrációs tesztekhez használt mock app: DB nélkül indul, unified host beállításokkal
8
+ * (static client root, API base path, socket path). A static root-ot a spec állítja
9
+ * beforeAll-ban az integrationStaticRoot statikus property-n keresztül.
10
+ */
11
+ class DyNTS_AppIntegrationTest_Mock extends app_extended_server_mock_1.DyNTS_AppWbMock_Mock {
12
+ /** A spec beforeAll-ban beállítja; getStaticClientSettings() ezt használja root-ként. */
13
+ static integrationStaticRoot = '';
14
+ getAppParams() {
15
+ return new app_params_control_model_1.DyNTS_App_Params({
16
+ name: 'nts-integration-test',
17
+ version: '1.0.0',
18
+ systemShortCodeName: 'NIT',
19
+ });
20
+ }
21
+ getPortSettings() {
22
+ return {
23
+ httpPort: 0,
24
+ socketPath: '/socket',
25
+ };
26
+ }
27
+ /** Az OS által kiosztott tényleges port; ready() után elérhető. */
28
+ get resolvedPort() {
29
+ const addr = this.httpServer?.address?.();
30
+ return (typeof addr === 'object' && addr) ? addr.port : 0;
31
+ }
32
+ getApiBasePath() {
33
+ return '/api';
34
+ }
35
+ getStaticClientSettings() {
36
+ if (!DyNTS_AppIntegrationTest_Mock.integrationStaticRoot) {
37
+ return undefined;
38
+ }
39
+ return {
40
+ root: DyNTS_AppIntegrationTest_Mock.integrationStaticRoot,
41
+ fallbackPath: undefined,
42
+ };
43
+ }
44
+ }
45
+ exports.DyNTS_AppIntegrationTest_Mock = DyNTS_AppIntegrationTest_Mock;
46
+ //# sourceMappingURL=app-integration-test.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-integration-test.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-integration-test.mock.ts"],"names":[],"mappings":";;;AAAA,oGAAyF;AAGzF,yEAAkE;AAElE;;;;GAIG;AACH,MAAa,6BAA8B,SAAQ,+CAAoB;IAErE,yFAAyF;IACzF,MAAM,CAAC,qBAAqB,GAAW,EAAE,CAAC;IAEjC,YAAY;QACnB,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,OAAO;YAChB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAEQ,eAAe;QACtB,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,IAAI,YAAY;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QAE1C,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEQ,cAAc;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,uBAAuB;QAC9B,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,6BAA6B,CAAC,qBAAqB;YACzD,YAAY,EAAE,SAAS;SACxB,CAAC;IACJ,CAAC;;AAvCH,sEAwCC"}
@@ -70,7 +70,7 @@ class DyNTS_AppFull_Mock extends app_server_1.DyNTS_App {
70
70
  }
71
71
  getPortSettings() {
72
72
  return {
73
- httpPort: 20101,
73
+ httpPort: 0,
74
74
  };
75
75
  }
76
76
  getRoutingModules() {
@@ -135,7 +135,7 @@ class DyNTS_AppTEST_Mock extends app_server_1.DyNTS_App {
135
135
  }
136
136
  getPortSettings() {
137
137
  return {
138
- httpPort: 10203,
138
+ httpPort: 0,
139
139
  };
140
140
  }
141
141
  getRoutingModules() {
@@ -1 +1 @@
1
- {"version":3,"file":"app-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-server.mock.ts"],"names":[],"mappings":";;;AAEA,mEAA+E;AAC/E,uDAA2E;AAE3E,oGAAyF;AAMzF,yFAAmF;AACnF,kEAA8D;AAC9D,gDAAkE;AAClE,kCAAqD;AACrD,oCAAuD;AACvD,2DAAuD;AACvD,uDAA0D;AAC1D,uDAA0F;AAE1F;;GAEG;AACH,MAAa,kBAAmB,SAAQ,sBAAS;IAC/C,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;QACxB,OAAO;YACL,WAAW,EAAE,oCAAgB,CAAC,WAAW,EAAE;SAC5C,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAvBD,gDAuBC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AAEpE;;GAEG;AACH,MAAa,kBAAmB,SAAQ,sBAAS;IAC/C,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAGQ,+BAA+B;QACtC,+CAA+C;QAC/C,gFAAgF;IAClF,CAAC;IAED,0BAA0B;QACxB,OAAO;YACL,WAAW,EAAE,oCAAgB,CAAC,WAAW,EAAE;YAC3C,0EAA0E;YAC1E,QAAQ,EAAE;gBACR,4CAA0B;gBAC1B,2CAAyB;gBAEzB,oCAA4B;gBAC5B,wCAA0B;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO;YACL,IAAI,4CAAmB,CAAC;gBACtB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE;oBACX,uCAAqB,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC;YAEF,IAAA,iCAA0B,GAAE;YAC5B,IAAA,8CAAgC,GAAE;YAClC,IAAA,mCAA2B,GAAE;SAC9B,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,eAAe;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAtDD,gDAsDC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AAEpE,MAAa,kBAAmB,SAAQ,sBAAS;IAC/C,YACE,SAMC;QAED,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC3B,sBAAS,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC5D,CAAC;QAED,IAAI,SAAS,CAAC,0BAA0B,EAAE,CAAC;YACzC,sBAAS,CAAC,SAAS,CAAC,0BAA0B,GAAG,SAAS,CAAC,0BAA0B,CAAC;QACxF,CAAC;QAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,sBAAS,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QAClE,CAAC;QAED,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,sBAAS,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;QACtE,CAAC;QAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,sBAAS,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QAClE,CAAC;QAED,KAAK,EAAE,CAAC;IACV,CAAC;IAED,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,cAAc;YACtB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAEQ,+BAA+B,KAAU,CAAC;IAEnD,0BAA0B;QACxB,OAAO;YACL,WAAW,EAAE,oCAAgB,CAAC,WAAW,EAAE;YAC3C,QAAQ,EAAE;gBACR,4CAA0B;gBAC1B,2CAAyB;gBAEzB,oCAA4B;gBAC5B,wCAA0B;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,eAAe;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAtED,gDAsEC"}
1
+ {"version":3,"file":"app-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-server.mock.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ class SocketClient_Mock extends socket_client_service_1.DyNTS_SocketClient_Servi
28
28
  return new socket_client_service_params_control_model_1.DyNTS_SocketClientService_Params({
29
29
  service: '-test-socket-target-',
30
30
  name: 'socket-client-mock',
31
- port: 30303,
31
+ port: 0,
32
32
  socketOptions: {
33
33
  reconnection: true,
34
34
  },
@@ -1 +1 @@
1
- {"version":3,"file":"socket-client.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/socket-client.mock.ts"],"names":[],"mappings":";;;AACA,yDAAsF;AAEtF,6HAEsE;AACtE,qFAA2F;AAE3F,MAAa,iBAAkB,SAAQ,sDAA8B;IAEnE;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;IAClD,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,yBAAgB,CAAC;gBACnB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,6BAAoB,CAAC,qBAAqB;gBACpD,KAAK,EAAE;oBACL,KAAK,EAAE,OAAY,EAAE,MAAc,EAAE,EAAE;wBACrC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,CAAC;iBACF;aACF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,6EAAgC,CAAC;YAC1C,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,KAAK;YACX,aAAa,EAAE;gBACb,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;IACL,CAAC;CAEF;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"socket-client.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/socket-client.mock.ts"],"names":[],"mappings":";;;AACA,yDAAsF;AAEtF,6HAEsE;AACtE,qFAA2F;AAE3F,MAAa,iBAAkB,SAAQ,sDAA8B;IAEnE;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;IAClD,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,yBAAgB,CAAC;gBACnB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,6BAAoB,CAAC,qBAAqB;gBACpD,KAAK,EAAE;oBACL,KAAK,EAAE,OAAY,EAAE,MAAc,EAAE,EAAE;wBACrC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,CAAC;iBACF;aACF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,6EAAgC,CAAC;YAC1C,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,CAAC;YACP,aAAa,EAAE;gBACb,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;IACL,CAAC;CAEF;AAnCD,8CAmCC"}
@@ -5,7 +5,7 @@ import { DyNTS_SocketServerService_Params } from '../socket/_models/socket-serve
5
5
  import { DyNTS_SocketServerService } from '../socket/_services/socket-server.service';
6
6
  /**
7
7
  * Mock Socket Server Service for testing purposes
8
- * Uses a non-privileged port to avoid EACCES errors on Windows
8
+ * Uses port 0 so the OS assigns a random available port
9
9
  */
10
10
  export declare class DyNTS_SocketServer_Mock extends DyNTS_SocketServerService<DyNTS_SocketPresence> {
11
11
  static getInstance(): DyNTS_SocketServer_Mock;
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.mock.d.ts","sourceRoot":"","sources":["../../../src/_modules/mock/socket-server.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EACL,oBAAoB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,gCAAgC,EACjC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAStF;;;GAGG;AACH,qBAAa,uBAAwB,SACnC,yBAAyB,CAAC,oBAAoB,CAAC;IAE/C,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,gBAAgB,IAAI,gCAAgC,CAAC,GAAG,CAAC;IAOzD,iBAAiB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;cAI5B,uCAAuC,CACrD,kBAAkB,EAAE,GAAG,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;CAOjC"}
1
+ {"version":3,"file":"socket-server.mock.d.ts","sourceRoot":"","sources":["../../../src/_modules/mock/socket-server.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,gCAAgC,EACjC,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF;;;GAGG;AACH,qBAAa,uBAAwB,SACnC,yBAAyB,CAAC,oBAAoB,CAAC;IAE/C,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,gBAAgB,IAAI,gCAAgC,CAAC,GAAG,CAAC;IAOzD,iBAAiB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;cAI5B,uCAAuC,CACrD,kBAAkB,EAAE,GAAG,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;CAOjC"}
@@ -4,15 +4,9 @@ exports.DyNTS_SocketServer_Mock = void 0;
4
4
  const socket_presence_control_model_1 = require("../socket/_models/socket-presence.control-model");
5
5
  const socket_server_service_params_control_model_1 = require("../socket/_models/socket-server-service-params.control-model");
6
6
  const socket_server_service_1 = require("../socket/_services/socket-server.service");
7
- /**
8
- * Utility function to find an available port starting from a base port
9
- */
10
- const findAvailablePort = (basePort) => {
11
- return basePort; // For now, return the base port, but this could be enhanced
12
- };
13
7
  /**
14
8
  * Mock Socket Server Service for testing purposes
15
- * Uses a non-privileged port to avoid EACCES errors on Windows
9
+ * Uses port 0 so the OS assigns a random available port
16
10
  */
17
11
  class DyNTS_SocketServer_Mock extends socket_server_service_1.DyNTS_SocketServerService {
18
12
  static getInstance() {
@@ -21,7 +15,7 @@ class DyNTS_SocketServer_Mock extends socket_server_service_1.DyNTS_SocketServer
21
15
  getServiceParams() {
22
16
  return new socket_server_service_params_control_model_1.DyNTS_SocketServerService_Params({
23
17
  name: 'test',
24
- port: findAvailablePort(19393), // Changed from 9393 to 19393 (non-privileged port)
18
+ port: 0,
25
19
  });
26
20
  }
27
21
  getIncomingEvents() {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/socket-server.mock.ts"],"names":[],"mappings":";;;AAIA,mGAEyD;AACzD,6HAEsE;AACtE,qFAAsF;AAEtF;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,OAAO,QAAQ,CAAC,CAAC,4DAA4D;AAC/E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAa,uBAAwB,SACnC,iDAA+C;IAE/C,MAAM,CAAC,WAAW;QAChB,OAAO,uBAAuB,CAAC,oBAAoB,EAAE,CAAC;IACxD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,6EAAgC,CAAC;YAC1C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,mDAAmD;SACpF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,uCAAuC,CACrD,kBAAuB,EACvB,MAAc;QAEd,OAAO,IAAI,oDAAoB,CAAC;YAC9B,aAAa,EAAE,kBAAkB,CAAC,QAAQ;YAC1C,OAAO,EAAE,CAAE,MAAM,CAAE;YACnB,MAAM,EAAE,0BAA0B;SACnC,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,0DA4BC"}
1
+ {"version":3,"file":"socket-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/socket-server.mock.ts"],"names":[],"mappings":";;;AAGA,mGAEyD;AACzD,6HAEsE;AACtE,qFAAsF;AAEtF;;;GAGG;AACH,MAAa,uBAAwB,SACnC,iDAA+C;IAE/C,MAAM,CAAC,WAAW;QAChB,OAAO,uBAAuB,CAAC,oBAAoB,EAAE,CAAC;IACxD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,6EAAgC,CAAC;YAC1C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,uCAAuC,CACrD,kBAAuB,EACvB,MAAc;QAEd,OAAO,IAAI,oDAAoB,CAAC;YAC9B,aAAa,EAAE,kBAAkB,CAAC,QAAQ;YAC1C,OAAO,EAAE,CAAE,MAAM,CAAE;YACnB,MAAM,EAAE,0BAA0B;SACnC,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,0DA4BC"}
@@ -1,10 +1,12 @@
1
1
  import { DyNTS_SocketSecurity } from '../_enums/socket-security.enum';
2
2
  /**
3
- * socket handling and clarification is under development
3
+ * Socket service paraméterek.
4
+ * A port opcionális: ha nincs megadva, az app-extended a getPortSettings() httpPort/httpsPort értékét használja (ugyanaz a port, mint a HTTP/HTTPS).
4
5
  */
5
6
  export declare class DyNTS_SocketServerService_Params<T = any> {
6
7
  name: string;
7
- port: number;
8
+ /** Opcionális: ha nincs megadva, az extended app a HTTP/HTTPS portot használja (same port). */
9
+ port?: number;
8
10
  security?: DyNTS_SocketSecurity;
9
11
  constructor(set: DyNTS_SocketServerService_Params<T>);
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-service-params.control-model.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-server-service-params.control-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,qBAAa,gCAAgC,CAAC,CAAC,GAAG,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,oBAAoB,CAAC;gBAG9B,GAAG,EAAE,gCAAgC,CAAC,CAAC,CAAC;CAM3C"}
1
+ {"version":3,"file":"socket-server-service-params.control-model.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-server-service-params.control-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;;GAGG;AACH,qBAAa,gCAAgC,CAAC,CAAC,GAAG,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,oBAAoB,CAAC;gBAG9B,GAAG,EAAE,gCAAgC,CAAC,CAAC,CAAC;CAM3C"}
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_SocketServerService_Params = void 0;
4
4
  const global_settings_const_1 = require("../../../_collections/global-settings.const");
5
5
  /**
6
- * socket handling and clarification is under development
6
+ * Socket service paraméterek.
7
+ * A port opcionális: ha nincs megadva, az app-extended a getPortSettings() httpPort/httpsPort értékét használja (ugyanaz a port, mint a HTTP/HTTPS).
7
8
  */
8
9
  class DyNTS_SocketServerService_Params {
9
10
  name;
11
+ /** Opcionális: ha nincs megadva, az extended app a HTTP/HTTPS portot használja (same port). */
10
12
  port;
11
13
  security;
12
14
  constructor(set) {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server-service-params.control-model.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-server-service-params.control-model.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAGpF;;GAEG;AACH,MAAa,gCAAgC;IAC3C,IAAI,CAAS;IACb,IAAI,CAAS;IACb,QAAQ,CAAwB;IAEhC,YACE,GAAwC;QAExC,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,6CAAqB,CAAC,qBAAqB,CAAC;IAC5F,CAAC;CACF;AAZD,4EAYC"}
1
+ {"version":3,"file":"socket-server-service-params.control-model.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-server-service-params.control-model.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAGpF;;;GAGG;AACH,MAAa,gCAAgC;IAC3C,IAAI,CAAS;IACb,+FAA+F;IAC/F,IAAI,CAAU;IACd,QAAQ,CAAwB;IAEhC,YACE,GAAwC;QAExC,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,6CAAqB,CAAC,qBAAqB,CAAC;IAC5F,CAAC;CACF;AAbD,4EAaC"}
@@ -5,6 +5,13 @@ import { DyNTS_SingletonService } from '../../../_services/base/singleton.servic
5
5
  import { DyNTS_SocketSecurity } from '../_enums/socket-security.enum';
6
6
  import { DyNTS_SocketPresence } from '../_models/socket-presence.control-model';
7
7
  import { DyNTS_SocketServerService_Params } from '../_models/socket-server-service-params.control-model';
8
+ /** Opciók a setupSocketServer híváshoz: attacholt HTTP szerver esetén ne hívjuk a listen()-t. */
9
+ export interface DyNTS_SocketServerSetupOptions {
10
+ /** Ha true, a Socket.IO egy már listenelő HTTP/HTTPS szerverre van attacholva – ne hívjuk a listen()-t. */
11
+ attachedToExistingServer?: boolean;
12
+ /** A tényleges port (pl. defaultolt httpPort/httpsPort) – logokban használjuk. */
13
+ effectivePort?: number;
14
+ }
8
15
  /**
9
16
  * You need to define the following functions:
10
17
  * ```ts
@@ -21,7 +28,7 @@ import { DyNTS_SocketServerService_Params } from '../_models/socket-server-servi
21
28
  export declare abstract class DyNTS_SocketServerService<T_Presence extends DyNTS_SocketPresence = DyNTS_SocketPresence, T_SubscriptionContent = any, T_ErrorContent = any> extends DyNTS_SingletonService {
22
29
  protected params: DyNTS_SocketServerService_Params;
23
30
  get name(): string;
24
- get port(): number;
31
+ get port(): number | undefined;
25
32
  get security(): DyNTS_SocketSecurity;
26
33
  get activeSubscriptionsCount(): number;
27
34
  protected openSocketServer: SocketIO.Server;
@@ -42,7 +49,7 @@ export declare abstract class DyNTS_SocketServerService<T_Presence extends DyNTS
42
49
  * You must setup events and required services for this function
43
50
  */
44
51
  private prepareEvents;
45
- setupSocketServer(newSocketServer: SocketIO.Server, security: DyNTS_SocketSecurity.open | DyNTS_SocketSecurity.secure, successCallback: () => void): Promise<SocketIO.Server>;
52
+ setupSocketServer(newSocketServer: SocketIO.Server, security: DyNTS_SocketSecurity.open | DyNTS_SocketSecurity.secure, successCallback: () => void, options?: DyNTS_SocketServerSetupOptions): Promise<SocketIO.Server>;
46
53
  protected addSocketToPresence(newPresence: T_Presence): Promise<void>;
47
54
  protected closeSocket(socket: SocketIO.Socket, issuer: string, withError?: DyFM_AnyError): Promise<void>;
48
55
  protected removeSocketFromPresence(socket: SocketIO.Socket): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_services/socket-server.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server.service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_services/socket-server.service.ts"],"names":[],"mappings":"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"}
@@ -169,10 +169,11 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
169
169
  }
170
170
  }
171
171
  // eslint-disable-next-line max-lines-per-function
172
- async setupSocketServer(newSocketServer, security, successCallback) {
172
+ async setupSocketServer(newSocketServer, security, successCallback, options) {
173
173
  try {
174
174
  if (this.highDetailedLogs)
175
175
  console.log('\nfn:. setupSocketServer');
176
+ const effectivePort = options?.effectivePort ?? this.params.port;
176
177
  newSocketServer.on(socket_1.DyFM_SocketEvent_Key.incomingNewConnection, async (socket) => {
177
178
  try {
178
179
  let issuer;
@@ -308,19 +309,34 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
308
309
  await this.closeSocket(socket, `${this.params.name} on connection error`, error);
309
310
  }
310
311
  });
311
- try {
312
- newSocketServer.listen(this.params.port);
312
+ const isAttach = options?.attachedToExistingServer === true ||
313
+ (this.params.port === undefined && options?.effectivePort !== undefined);
314
+ if (isAttach) {
313
315
  fsm_dynamo_1.DyFM_Log.success(`\nsocket server setup finished: "${this.params.name}"` +
314
- `\nsocket server listening on port: "${this.params.port}"`);
316
+ (effectivePort !== undefined ? ` (attached to server on port: ${effectivePort})` : ' (attached to existing server)'));
317
+ successCallback();
315
318
  }
316
- catch (listenError) {
317
- const errorMessage = `Failed to bind socket server "${this.params.name}" to port ${this.params.port}. ` +
318
- `This could be due to port already in use or insufficient permissions. ` +
319
- `Please ensure the port is available and try again.`;
320
- fsm_dynamo_1.DyFM_Log.error(errorMessage, listenError);
321
- throw new Error(errorMessage);
319
+ else {
320
+ try {
321
+ const portToListen = this.params.port ?? options?.effectivePort;
322
+ if (portToListen === undefined) {
323
+ throw new Error(`PORT NOT SET: "${this.params.name}". ` +
324
+ `Either set port in getServiceParams() or pass effectivePort in setupSocketServer options.`);
325
+ }
326
+ newSocketServer.listen(portToListen);
327
+ fsm_dynamo_1.DyFM_Log.success(`\nsocket server setup finished: "${this.params.name}"` +
328
+ `\nsocket server listening on port: "${portToListen}"`);
329
+ }
330
+ catch (listenError) {
331
+ const portForMsg = this.params.port ?? options?.effectivePort;
332
+ const errorMessage = `Failed to bind socket server "${this.params.name}" to port ${portForMsg}. ` +
333
+ `This could be due to port already in use or insufficient permissions. ` +
334
+ `Please ensure the port is available and try again.`;
335
+ fsm_dynamo_1.DyFM_Log.error(errorMessage, listenError);
336
+ throw new Error(errorMessage);
337
+ }
338
+ successCallback();
322
339
  }
323
- successCallback();
324
340
  if (security === socket_security_enum_1.DyNTS_SocketSecurity.open) {
325
341
  this.openSocketServer = newSocketServer;
326
342
  return this.openSocketServer;