@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.
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -0
- package/build/_collections/default-fallback-cache-max-age.const.d.ts +3 -0
- package/build/_collections/default-fallback-cache-max-age.const.d.ts.map +1 -0
- package/build/_collections/default-fallback-cache-max-age.const.js +6 -0
- package/build/_collections/default-fallback-cache-max-age.const.js.map +1 -0
- package/build/_collections/default-not-found-page.const.d.ts +6 -0
- package/build/_collections/default-not-found-page.const.d.ts.map +1 -0
- package/build/_collections/default-not-found-page.const.js +25 -0
- package/build/_collections/default-not-found-page.const.js.map +1 -0
- package/build/_collections/default-socket-path.const.d.ts +3 -0
- package/build/_collections/default-socket-path.const.d.ts.map +1 -0
- package/build/_collections/default-socket-path.const.js +6 -0
- package/build/_collections/default-socket-path.const.js.map +1 -0
- package/build/_models/control-models/http-settings.control-model.d.ts +7 -0
- package/build/_models/control-models/http-settings.control-model.d.ts.map +1 -1
- package/build/_models/control-models/http-settings.control-model.js +7 -0
- package/build/_models/control-models/http-settings.control-model.js.map +1 -1
- package/build/_models/interfaces/static-client-settings.interface.d.ts +29 -0
- package/build/_models/interfaces/static-client-settings.interface.d.ts.map +1 -0
- package/build/_models/interfaces/static-client-settings.interface.js +3 -0
- package/build/_models/interfaces/static-client-settings.interface.js.map +1 -0
- package/build/_modules/mock/app-extended-server.mock.js +2 -2
- package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
- package/build/_modules/mock/app-integration-test.mock.d.ts +20 -0
- package/build/_modules/mock/app-integration-test.mock.d.ts.map +1 -0
- package/build/_modules/mock/app-integration-test.mock.js +46 -0
- package/build/_modules/mock/app-integration-test.mock.js.map +1 -0
- package/build/_modules/mock/app-server.mock.js +2 -2
- package/build/_modules/mock/app-server.mock.js.map +1 -1
- package/build/_modules/mock/socket-client.mock.js +1 -1
- package/build/_modules/mock/socket-client.mock.js.map +1 -1
- package/build/_modules/mock/socket-server.mock.d.ts +1 -1
- package/build/_modules/mock/socket-server.mock.d.ts.map +1 -1
- package/build/_modules/mock/socket-server.mock.js +2 -8
- package/build/_modules/mock/socket-server.mock.js.map +1 -1
- package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +4 -2
- package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts.map +1 -1
- package/build/_modules/socket/_models/socket-server-service-params.control-model.js +3 -1
- package/build/_modules/socket/_models/socket-server-service-params.control-model.js.map +1 -1
- package/build/_modules/socket/_services/socket-server.service.d.ts +9 -2
- package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
- package/build/_modules/socket/_services/socket-server.service.js +27 -11
- package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
- package/build/_modules/socket/app-extended.server.d.ts +9 -2
- package/build/_modules/socket/app-extended.server.d.ts.map +1 -1
- package/build/_modules/socket/app-extended.server.js +42 -25
- package/build/_modules/socket/app-extended.server.js.map +1 -1
- package/build/_services/base/data.service.d.ts.map +1 -1
- package/build/_services/base/data.service.js +4 -5
- package/build/_services/base/data.service.js.map +1 -1
- package/build/_services/base/db.service.d.ts.map +1 -1
- package/build/_services/base/db.service.js +8 -0
- package/build/_services/base/db.service.js.map +1 -1
- package/build/_services/server/app.server.d.ts +18 -0
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +74 -2
- package/build/_services/server/app.server.js.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -0
- package/build/index.js.map +1 -1
- package/nodemon.json +2 -1
- package/package.json +4 -4
- package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -0
- package/src/_collections/default-fallback-cache-max-age.const.ts +2 -0
- package/src/_collections/default-not-found-page.const.spec.ts +19 -0
- package/src/_collections/default-not-found-page.const.ts +22 -0
- package/src/_collections/default-socket-path.const.spec.ts +12 -0
- package/src/_collections/default-socket-path.const.ts +2 -0
- package/src/_models/control-models/http-settings.control-model.spec.ts +11 -0
- package/src/_models/control-models/http-settings.control-model.ts +8 -0
- package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -0
- package/src/_models/interfaces/static-client-settings.interface.ts +28 -0
- package/src/_modules/mock/app-extended-server.mock.ts +2 -2
- package/src/_modules/mock/app-integration-test.mock.ts +51 -0
- package/src/_modules/mock/app-server.mock.ts +2 -2
- package/src/_modules/mock/socket-client.mock.spec.ts +1 -1
- package/src/_modules/mock/socket-client.mock.ts +1 -1
- package/src/_modules/mock/socket-server.mock.spec.ts +1 -1
- package/src/_modules/mock/socket-server.mock.ts +5 -13
- package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +13 -0
- package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +4 -2
- package/src/_modules/socket/_services/socket-server.service.ts +37 -6
- package/src/_modules/socket/app-extended.integration.spec.ts +85 -0
- package/src/_modules/socket/app-extended.server.ts +47 -40
- package/src/_services/base/data.service.ts +4 -7
- package/src/_services/base/db.service.ts +11 -3
- package/src/_services/route/routing-module.service.spec.ts +15 -0
- package/src/_services/server/app.server.ts +107 -2
- 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 @@
|
|
|
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 @@
|
|
|
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;
|
|
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":";;;
|
|
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 @@
|
|
|
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:
|
|
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:
|
|
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":";;;AAEA,sDAA4D;AAC5D,mEAA+E;AAC/E,uDAA2E;AAE3E,oFAAiF;AACjF,oGAAyF;AAMzF,yFAAmF;AACnF,gDAAkE;AAElE,uEAAkE;AAClE,kCAAqD;AACrD,oCAAuD;AACvD,2DAAuD;AACvD,uDAA0D;AAC1D,uDAA0F;AAC1F,mFAA8E;AAC9E,6DAAyD;AACzD,6DAA+D;AAE/D;;GAEG;AACH,MAAa,0BAA2B,SAAQ,uCAAiB;IAE/D,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,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;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5BD,gEA4BC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AAEpE;;GAEG;AACH,MAAa,0BAA2B,SAAQ,uCAAiB;IAE/D,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAEQ,+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,
|
|
1
|
+
{"version":3,"file":"app-extended-server.mock.js","sourceRoot":"","sources":["../../../src/_modules/mock/app-extended-server.mock.ts"],"names":[],"mappings":";;;AAEA,sDAA4D;AAC5D,mEAA+E;AAC/E,uDAA2E;AAE3E,oFAAiF;AACjF,oGAAyF;AAMzF,yFAAmF;AACnF,gDAAkE;AAElE,uEAAkE;AAClE,kCAAqD;AACrD,oCAAuD;AACvD,2DAAuD;AACvD,uDAA0D;AAC1D,uDAA0F;AAC1F,mFAA8E;AAC9E,6DAAyD;AACzD,6DAA+D;AAE/D;;GAEG;AACH,MAAa,0BAA2B,SAAQ,uCAAiB;IAE/D,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,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;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5BD,gEA4BC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AAEpE;;GAEG;AACH,MAAa,0BAA2B,SAAQ,uCAAiB;IAE/D,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAEQ,+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,CAAC;SACZ,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO;YACL,IAAI,4CAAmB,CAAC;gBACtB,KAAK,EAAE,SAAS;gBAChB,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;IAED,iBAAiB;QACf,OAAO;YACL,4CAAuB,CAAC,WAAW,EAAE;SACtC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,eAAe;QAC5B,OAAO;YACL,sCAAiB,CAAC,WAAW,EAAE;SAChC,CAAC;IACJ,CAAC;CACF;AA9DD,gEA8DC;AAED,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AAEpE;;GAEG;AACH,MAAa,oBAAqB,SAAQ,uCAAiB;IAEzD,YAAY;QACV,OAAO,IAAI,2CAAgB,CAAC;YAC1B,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAEQ,+BAA+B;QACtC,6CAAqB,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;QAC1D,gCAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;IACtD,CAAC;IAED,0BAA0B;QACxB,OAAO;YACL,WAAW,EAAE,oCAAgB,CAAC,WAAW,EAAE;YAC3C,sBAAsB,EAAE,2DAA2B,CAAC,WAAW,EAAE;YACjE,QAAQ,EAAE;gBACR,4CAA0B;gBAC1B,2CAAyB;gBAEzB,oCAA4B;gBAC5B,wCAA0B;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO;YACL,IAAI,4CAAmB,CAAC;gBACtB,KAAK,EAAE,SAAS;gBAChB,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;IAED,iBAAiB;QACf,OAAO;YACL,4CAAuB,CAAC,WAAW,EAAE;SACtC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,eAAe;QAC5B,OAAO;YACL,sCAAiB,CAAC,WAAW,EAAE;SAChC,CAAC;IACJ,CAAC;CACF;AA9DD,oDA8DC"}
|
|
@@ -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:
|
|
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:
|
|
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,
|
|
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:
|
|
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,
|
|
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
|
|
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;
|
|
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
|
|
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:
|
|
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":";;;
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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":"AACA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,aAAa,EACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,gBAAgB,EACsC,oBAAoB,EAC3E,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,8BAAsB,yBAAyB,CACzC,UAAU,SAAS,oBAAoB,GAAG,oBAAoB,EAC9D,qBAAqB,GAAG,GAAG,EAC3B,cAAc,GAAG,GAAG,CACpB,SAAQ,sBAAsB;IAElC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC;IACnD,IAAI,IAAI,IAAI,MAAM,CAA6B;IAC/C,IAAI,IAAI,IAAI,MAAM,CAA6B;
|
|
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
|
-
|
|
312
|
-
|
|
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
|
-
|
|
316
|
+
(effectivePort !== undefined ? ` (attached to server on port: ${effectivePort})` : ' (attached to existing server)'));
|
|
317
|
+
successCallback();
|
|
315
318
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
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;
|