@futdevpro/nts-dynamo 1.15.82 → 1.15.83
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/.dynamo/logs/cicd-pipeline/output.log +1753 -1829
- package/.dynamo/logs/cicd-pipeline/status.json +39 -39
- package/build/_modules/server/errors/errors.controller.d.ts +15 -0
- package/build/_modules/server/errors/errors.controller.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.controller.js +39 -12
- package/build/_modules/server/errors/errors.controller.js.map +1 -1
- package/build/_modules/server/server-status/server-status.controller.d.ts +8 -0
- package/build/_modules/server/server-status/server-status.controller.d.ts.map +1 -1
- package/build/_modules/server/server-status/server-status.controller.js +25 -5
- package/build/_modules/server/server-status/server-status.controller.js.map +1 -1
- package/package.json +1 -1
- package/src/_modules/server/errors/errors.controller.spec.ts +48 -29
- package/src/_modules/server/errors/errors.controller.ts +38 -12
- package/src/_modules/server/server-status/server-status.controller.spec.ts +42 -35
- package/src/_modules/server/server-status/server-status.controller.ts +24 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"pid":
|
|
3
|
-
"startedAt": "2026-06-
|
|
4
|
-
"startedAtMs":
|
|
2
|
+
"pid": 10887,
|
|
3
|
+
"startedAt": "2026-06-26T11:23:21.714Z",
|
|
4
|
+
"startedAtMs": 1782473001714,
|
|
5
5
|
"phase": "npm-publish",
|
|
6
6
|
"pipelineComplete": false,
|
|
7
7
|
"serverRunning": false,
|
|
@@ -10,83 +10,83 @@
|
|
|
10
10
|
"steps": {
|
|
11
11
|
"validate-secrets": {
|
|
12
12
|
"status": "ok",
|
|
13
|
-
"startedAt": "2026-06-
|
|
13
|
+
"startedAt": "2026-06-26T11:23:21.730Z",
|
|
14
14
|
"logLineStart": 2,
|
|
15
15
|
"logLineEnd": 7,
|
|
16
|
-
"durationSec": 0.
|
|
16
|
+
"durationSec": 0.3
|
|
17
17
|
},
|
|
18
18
|
"discord-start": {
|
|
19
19
|
"status": "ok",
|
|
20
|
-
"startedAt": "2026-06-
|
|
20
|
+
"startedAt": "2026-06-26T11:23:23.063Z",
|
|
21
21
|
"logLineStart": 8,
|
|
22
22
|
"logLineEnd": 13,
|
|
23
|
-
"durationSec": 3
|
|
23
|
+
"durationSec": 3
|
|
24
24
|
},
|
|
25
25
|
"pre-flight": {
|
|
26
26
|
"status": "ok",
|
|
27
|
-
"startedAt": "2026-06-
|
|
27
|
+
"startedAt": "2026-06-26T11:23:27.079Z",
|
|
28
28
|
"logLineStart": 14,
|
|
29
29
|
"logLineEnd": 16,
|
|
30
30
|
"durationSec": 0.2
|
|
31
31
|
},
|
|
32
32
|
"install": {
|
|
33
33
|
"status": "ok",
|
|
34
|
-
"startedAt": "2026-06-
|
|
34
|
+
"startedAt": "2026-06-26T11:23:28.272Z",
|
|
35
35
|
"logLineStart": 17,
|
|
36
|
-
"logLineEnd":
|
|
37
|
-
"durationSec":
|
|
36
|
+
"logLineEnd": 108,
|
|
37
|
+
"durationSec": 28.9
|
|
38
38
|
},
|
|
39
39
|
"check-dev-leftovers": {
|
|
40
40
|
"status": "ok",
|
|
41
|
-
"startedAt": "2026-06-
|
|
42
|
-
"logLineStart":
|
|
43
|
-
"logLineEnd":
|
|
44
|
-
"durationSec":
|
|
41
|
+
"startedAt": "2026-06-26T11:23:58.211Z",
|
|
42
|
+
"logLineStart": 109,
|
|
43
|
+
"logLineEnd": 116,
|
|
44
|
+
"durationSec": 3.7
|
|
45
45
|
},
|
|
46
46
|
"build": {
|
|
47
47
|
"status": "ok",
|
|
48
|
-
"startedAt": "2026-06-
|
|
49
|
-
"logLineStart":
|
|
50
|
-
"logLineEnd":
|
|
51
|
-
"durationSec":
|
|
48
|
+
"startedAt": "2026-06-26T11:24:02.894Z",
|
|
49
|
+
"logLineStart": 117,
|
|
50
|
+
"logLineEnd": 118,
|
|
51
|
+
"durationSec": 26.3
|
|
52
52
|
},
|
|
53
53
|
"test": {
|
|
54
54
|
"status": "ok",
|
|
55
|
-
"startedAt": "2026-06-
|
|
56
|
-
"logLineStart":
|
|
57
|
-
"logLineEnd":
|
|
58
|
-
"durationSec":
|
|
55
|
+
"startedAt": "2026-06-26T11:24:30.240Z",
|
|
56
|
+
"logLineStart": 119,
|
|
57
|
+
"logLineEnd": 2785,
|
|
58
|
+
"durationSec": 22.3,
|
|
59
59
|
"testSummary": {
|
|
60
|
-
"totalSpecs":
|
|
60
|
+
"totalSpecs": 1456,
|
|
61
61
|
"failures": 0,
|
|
62
|
-
"passed":
|
|
63
|
-
"testDurationSec":
|
|
62
|
+
"passed": 1456,
|
|
63
|
+
"testDurationSec": 6.419
|
|
64
64
|
},
|
|
65
65
|
"errors": [
|
|
66
66
|
{
|
|
67
|
-
"line":
|
|
68
|
-
"text": "
|
|
69
|
-
"details": "
|
|
70
|
-
"detailLineEnd":
|
|
67
|
+
"line": 1776,
|
|
68
|
+
"text": "❌❌ Error handleMessage: Error: Test error",
|
|
69
|
+
"details": "at UserContext.<anonymous> (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/build/_modules/assistant/_services/ass-io.control-service.spec.js:68:136)\nat QueueRunner.attempt (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8414:40)\nat QueueRunner.run (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8452:27)\nat runNext (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8355:16)\nat /tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8361:11\nat /tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8241:9",
|
|
70
|
+
"detailLineEnd": 1782
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
|
-
"line":
|
|
73
|
+
"line": 1789,
|
|
74
74
|
"text": "❌❌ Error handleMessage: Error: Test error",
|
|
75
|
-
"details": "at UserContext.<anonymous> (/tmp/pipeline-runs/
|
|
76
|
-
"detailLineEnd":
|
|
75
|
+
"details": "at UserContext.<anonymous> (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/build/_modules/assistant/_services/ass-io.control-service.spec.js:92:136)\nat QueueRunner.attempt (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8414:40)\nat QueueRunner.run (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8452:27)\nat runNext (/tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8355:16)\nat /tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8361:11\nat /tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/node_modules/.pnpm/jasmine-core@5.10.0/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:8241:9",
|
|
76
|
+
"detailLineEnd": 1795
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
|
-
"line":
|
|
80
|
-
"text": "
|
|
81
|
-
"details": "
|
|
82
|
-
"detailLineEnd":
|
|
79
|
+
"line": 1986,
|
|
80
|
+
"text": "...........................................***************........................................................................................................................❌ getDataByDependencyId failed, dependencyKey is missing from service! (test_data)",
|
|
81
|
+
"details": "},\nissuer: 'test-issuer'\n}\n📍 /tmp/pipeline-runs/34973e0f-1f09-4c8b-843b-b2c55ee227c8/build/_services/base/data.service.spec.js:182:87",
|
|
82
|
+
"detailLineEnd": 1987
|
|
83
83
|
}
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
86
|
"npm-publish": {
|
|
87
87
|
"status": "running",
|
|
88
|
-
"startedAt": "2026-06-
|
|
89
|
-
"logLineStart":
|
|
88
|
+
"startedAt": "2026-06-26T11:24:53.577Z",
|
|
89
|
+
"logLineStart": 2786,
|
|
90
90
|
"logLineEnd": null,
|
|
91
91
|
"durationSec": null
|
|
92
92
|
}
|
|
@@ -96,6 +96,21 @@ export declare abstract class DyNTS_Errors_Controller<T_Error extends DyFM_Error
|
|
|
96
96
|
* `protectedEndpoints` listan, ures array-t ad vissza.
|
|
97
97
|
*/
|
|
98
98
|
protected getPreProcessesFor(endpointName: string): ((req: Request, res: Response) => Promise<void>)[];
|
|
99
|
+
/**
|
|
100
|
+
* FR-263 (2026-06-26) — LAZY, REQUEST-IDŐBEN kiértékelt guard-wrapper.
|
|
101
|
+
*
|
|
102
|
+
* GYÖKÉR-OK: a `setupEndpoints()` a controller ELSŐ konstrukciójakor fut, ami a built-in
|
|
103
|
+
* error-controllernél a host-app `configure()`-ja ELŐTT történhet (a framework korán példányosítja
|
|
104
|
+
* a singletont). Ilyenkor a `getPreProcessesFor()` még az ÜRES configot olvasta → a guard SOHA nem
|
|
105
|
+
* kötődött → az admin error-read endpoint-ok (`get-range`, `get-paged`, …) token nélkül **200**-at
|
|
106
|
+
* adtak vissza, kiszivárogtatva a belső error-logot (info-disclosure). A 39 másik (controller-szinten
|
|
107
|
+
* HARDCODE-olt) guard azért működött, mert nem függ a `configure()` időzítésétől.
|
|
108
|
+
*
|
|
109
|
+
* FIX: a `preProcesses` egy wrapper, ami a configot KÉRÉS-IDŐBEN olvassa (`getPreProcessesFor`), így
|
|
110
|
+
* a `configure()` SORREND-FÜGGETLEN — bármikor hívható az első kérés előtt. A 401-et a VALÓDI guard
|
|
111
|
+
* küldi; `res.headersSent`-re leállunk (nincs dupla-send), és nem-védett endpointnál no-op (átenged).
|
|
112
|
+
*/
|
|
113
|
+
protected lazyPreProcessesFor(endpointName: string): ((req: Request, res: Response) => Promise<void>)[];
|
|
99
114
|
setupEndpoints(): void;
|
|
100
115
|
}
|
|
101
116
|
//# sourceMappingURL=errors.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/errors/errors.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAc,UAAU,EAAqB,WAAW,EAAqB,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAIvE;;;;;;;;;GASG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAeD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,8BAAsB,uBAAuB,CAC3C,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,sBAAsB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC7E,SAAQ,gBAAgB;IAOxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CACxC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACtC,sBAAsB;IACzB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAM;IAEpE;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,GAAG,IAAI;IAIjE;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,iCAAiC;IAIzD;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,IAAI;IAIzC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAOtG,cAAc,IAAI,IAAI;CAgVvB"}
|
|
1
|
+
{"version":3,"file":"errors.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/errors/errors.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAc,UAAU,EAAqB,WAAW,EAAqB,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAIvE;;;;;;;;;GASG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAeD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,8BAAsB,uBAAuB,CAC3C,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,sBAAsB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC7E,SAAQ,gBAAgB;IAOxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CACxC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACtC,sBAAsB;IACzB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAM;IAEpE;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,GAAG,IAAI;IAIjE;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,iCAAiC;IAIzD;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,IAAI;IAIzC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAOtG;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAYvG,cAAc,IAAI,IAAI;CAgVvB"}
|
|
@@ -92,6 +92,33 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
92
92
|
const protectedNames = cfg.protectedEndpoints ?? ALL_ENDPOINT_NAMES;
|
|
93
93
|
return protectedNames.includes(endpointName) ? [cfg.authPreProcess] : [];
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* FR-263 (2026-06-26) — LAZY, REQUEST-IDŐBEN kiértékelt guard-wrapper.
|
|
97
|
+
*
|
|
98
|
+
* GYÖKÉR-OK: a `setupEndpoints()` a controller ELSŐ konstrukciójakor fut, ami a built-in
|
|
99
|
+
* error-controllernél a host-app `configure()`-ja ELŐTT történhet (a framework korán példányosítja
|
|
100
|
+
* a singletont). Ilyenkor a `getPreProcessesFor()` még az ÜRES configot olvasta → a guard SOHA nem
|
|
101
|
+
* kötődött → az admin error-read endpoint-ok (`get-range`, `get-paged`, …) token nélkül **200**-at
|
|
102
|
+
* adtak vissza, kiszivárogtatva a belső error-logot (info-disclosure). A 39 másik (controller-szinten
|
|
103
|
+
* HARDCODE-olt) guard azért működött, mert nem függ a `configure()` időzítésétől.
|
|
104
|
+
*
|
|
105
|
+
* FIX: a `preProcesses` egy wrapper, ami a configot KÉRÉS-IDŐBEN olvassa (`getPreProcessesFor`), így
|
|
106
|
+
* a `configure()` SORREND-FÜGGETLEN — bármikor hívható az első kérés előtt. A 401-et a VALÓDI guard
|
|
107
|
+
* küldi; `res.headersSent`-re leállunk (nincs dupla-send), és nem-védett endpointnál no-op (átenged).
|
|
108
|
+
*/
|
|
109
|
+
lazyPreProcessesFor(endpointName) {
|
|
110
|
+
return [
|
|
111
|
+
async (req, res) => {
|
|
112
|
+
const guards = this.getPreProcessesFor(endpointName);
|
|
113
|
+
for (const guard of guards) {
|
|
114
|
+
if (res.headersSent) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
await guard(req, res);
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
}
|
|
95
122
|
setupEndpoints() {
|
|
96
123
|
/* if (!this.getErrorDataService) {
|
|
97
124
|
throw new DyFM_Error({
|
|
@@ -110,7 +137,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
110
137
|
name: 'logError',
|
|
111
138
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
112
139
|
endpoint: '/error/log',
|
|
113
|
-
preProcesses: this.
|
|
140
|
+
preProcesses: this.lazyPreProcessesFor('logError'),
|
|
114
141
|
tasks: [
|
|
115
142
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
116
143
|
const error_CS = this.getError_ControlService({
|
|
@@ -127,7 +154,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
127
154
|
name: 'newError',
|
|
128
155
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
129
156
|
endpoint: '/error/new',
|
|
130
|
-
preProcesses: this.
|
|
157
|
+
preProcesses: this.lazyPreProcessesFor('newError'),
|
|
131
158
|
tasks: [
|
|
132
159
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
133
160
|
const error_CS = this.getError_ControlService({
|
|
@@ -144,7 +171,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
144
171
|
name: 'markErrorDone',
|
|
145
172
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
146
173
|
endpoint: '/error/mark-done/:errorId',
|
|
147
|
-
preProcesses: this.
|
|
174
|
+
preProcesses: this.lazyPreProcessesFor('markErrorDone'),
|
|
148
175
|
tasks: [
|
|
149
176
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
150
177
|
const error_CS = this.getError_ControlService({
|
|
@@ -161,7 +188,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
161
188
|
name: 'markAllErrorDone',
|
|
162
189
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
163
190
|
endpoint: '/error/mark-all-done',
|
|
164
|
-
preProcesses: this.
|
|
191
|
+
preProcesses: this.lazyPreProcessesFor('markAllErrorDone'),
|
|
165
192
|
tasks: [
|
|
166
193
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
167
194
|
const error_CS = this.getError_ControlService({
|
|
@@ -178,7 +205,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
178
205
|
name: 'recordFixAttempt',
|
|
179
206
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
180
207
|
endpoint: '/error/:errorId/fix-attempt',
|
|
181
|
-
preProcesses: this.
|
|
208
|
+
preProcesses: this.lazyPreProcessesFor('recordFixAttempt'),
|
|
182
209
|
tasks: [
|
|
183
210
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
184
211
|
const errorId = req.params.errorId;
|
|
@@ -204,7 +231,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
204
231
|
name: 'resolveError',
|
|
205
232
|
type: fsm_dynamo_1.DyFM_HttpCallType.post,
|
|
206
233
|
endpoint: '/error/:errorId/resolve',
|
|
207
|
-
preProcesses: this.
|
|
234
|
+
preProcesses: this.lazyPreProcessesFor('resolveError'),
|
|
208
235
|
tasks: [
|
|
209
236
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
210
237
|
const errorId = req.params.errorId;
|
|
@@ -246,7 +273,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
246
273
|
name: 'getErrors',
|
|
247
274
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
248
275
|
endpoint: '/error/get-range/:range',
|
|
249
|
-
preProcesses: this.
|
|
276
|
+
preProcesses: this.lazyPreProcessesFor('getErrors'),
|
|
250
277
|
tasks: [
|
|
251
278
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
252
279
|
const error_CS = this.getError_ControlService({
|
|
@@ -260,7 +287,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
260
287
|
name: 'getErrorsPaged',
|
|
261
288
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
262
289
|
endpoint: '/error/get-paged/:range/:pageSize/:pageIndex',
|
|
263
|
-
preProcesses: this.
|
|
290
|
+
preProcesses: this.lazyPreProcessesFor('getErrorsPaged'),
|
|
264
291
|
tasks: [
|
|
265
292
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
266
293
|
const error_CS = this.getError_ControlService({
|
|
@@ -281,7 +308,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
281
308
|
name: 'getErrorsByCategoryPaged',
|
|
282
309
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
283
310
|
endpoint: '/error/get-by-category/:category/:range/:pageSize/:pageIndex',
|
|
284
|
-
preProcesses: this.
|
|
311
|
+
preProcesses: this.lazyPreProcessesFor('getErrorsByCategoryPaged'),
|
|
285
312
|
tasks: [
|
|
286
313
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
287
314
|
const error_CS = this.getError_ControlService({ issuer });
|
|
@@ -299,7 +326,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
299
326
|
name: 'getErrorsByStatusPaged',
|
|
300
327
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
301
328
|
endpoint: '/error/get-by-status/:status/:range/:pageSize/:pageIndex',
|
|
302
|
-
preProcesses: this.
|
|
329
|
+
preProcesses: this.lazyPreProcessesFor('getErrorsByStatusPaged'),
|
|
303
330
|
tasks: [
|
|
304
331
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
305
332
|
const error_CS = this.getError_ControlService({ issuer });
|
|
@@ -317,7 +344,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
317
344
|
name: 'getLastErrors',
|
|
318
345
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
319
346
|
endpoint: '/error/get-last-paged/:range/:pageSize/:pageIndex',
|
|
320
|
-
preProcesses: this.
|
|
347
|
+
preProcesses: this.lazyPreProcessesFor('getLastErrors'),
|
|
321
348
|
tasks: [
|
|
322
349
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
323
350
|
const error_CS = this.getError_ControlService({
|
|
@@ -338,7 +365,7 @@ class DyNTS_Errors_Controller extends controller_service_1.DyNTS_Controller {
|
|
|
338
365
|
name: 'searchErrors',
|
|
339
366
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
340
367
|
endpoint: '/error/search',
|
|
341
|
-
preProcesses: this.
|
|
368
|
+
preProcesses: this.lazyPreProcessesFor('searchErrors'),
|
|
342
369
|
tasks: [
|
|
343
370
|
async (req, res, issuer = 'unknown-issuer') => {
|
|
344
371
|
const error_CS = this.getError_ControlService({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/errors/errors.controller.ts"],"names":[],"mappings":";;;AAGA,sDAAkH;AAClH,oFAA+E;AAC/E,iHAAsG;AAEtG,uFAAoF;AAmCpF;;;GAGG;AACH,MAAM,kBAAkB,GAAa;IACnC,UAAU,EAAE,UAAU;IACtB,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,cAAc;IAClC,WAAW,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,eAAe;IACpG,cAAc;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,kBAAkB;AAClB,2BAA2B;AAC3B,GAAG;AACH,MAAsB,uBAIpB,SAAQ,qCAAgB;IAUL,mBAAmB,GAA4B,EAAE,CAAC;IAErE;;;OAGG;IACO,MAAM,CAAC,UAAU,GAAsC,EAAE,CAAC;IAEpE;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAS,CAAC,MAAyC;QACxD,uBAAuB,CAAC,UAAU,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,uBAAuB,CAAC,UAAU,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,0BAA0B;QAC/B,uBAAuB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACO,kBAAkB,CAAC,YAAoB;QAC/C,MAAM,GAAG,GAAsC,uBAAuB,CAAC,UAAU,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACvC,MAAM,cAAc,GAAa,GAAG,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC9E,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,cAAc;QACZ;;;;;YAKI;QAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,uBAAU,CAAC;gBACnB,OAAO,EAAE,0DAA0D;gBACnE,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,8BAAiB,CAAC,IAAI;gBAC5B,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"errors.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/errors/errors.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,14 @@ export declare abstract class DyNTS_ServerStatus_Controller<T_ServerStatus exten
|
|
|
80
80
|
* - Egyebkent az endpoint a `protectedEndpoints` (default = admin-only) listan van-e.
|
|
81
81
|
*/
|
|
82
82
|
protected getPreProcessesFor(endpointName: string): ((req: Request, res: Response) => Promise<void>)[];
|
|
83
|
+
/**
|
|
84
|
+
* FR-263 (2026-06-26) — LAZY, REQUEST-IDŐBEN kiértékelt guard-wrapper (lásd a DyNTS_Errors_Controller
|
|
85
|
+
* azonos fixét). A `setupEndpoints()` a host-app `configure()`-ja ELŐTT futhat (korai singleton-
|
|
86
|
+
* konstrukció) → a guard ürès configgal kötődött → a `getServerStatus`/`getErrorStatistics` admin-adat
|
|
87
|
+
* token nélkül 200-at adott (info-disclosure). A wrapper a configot KÉRÉS-IDŐBEN olvassa → sorrend-
|
|
88
|
+
* független. A 401-et a valódi guard küldi; `headersSent`-re leállunk; nem-védett endpointnál no-op.
|
|
89
|
+
*/
|
|
90
|
+
protected lazyPreProcessesFor(endpointName: string): ((req: Request, res: Response) => Promise<void>)[];
|
|
83
91
|
setupEndpoints(): void;
|
|
84
92
|
}
|
|
85
93
|
//# sourceMappingURL=server-status.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-status.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAwC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG,OAAO,EAAqB,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,EAAE,yCAAyC,EAAE,MAAM,0CAA0C,CAAC;AAGrG;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uCAAuC;IACtD;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AA0BD;;;;;;;;;;;;GAYG;AACH,8BAAsB,6BAA6B,CACjD,cAAc,SAAS,iBAAiB,EACxC,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9E,sBAAsB,SAAS,iBAAiB,EAChD,qCAAqC,SAAS,yCAAyC,CAAC,sBAAsB,CAAC,EAC/G,6BAA6B,SAAS,iCAAiC,CACrE,cAAc,EACd,OAAO,EACP,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,qCAAqC,CACtC,CACD,SAAQ,gBAAgB;IAMxB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAGrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAM;IAE1E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,GAAG,IAAI;IAIvE;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,uCAAuC;IAI/D;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,IAAI;IAIzC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAQtG,cAAc,IAAI,IAAI;CAkGvB"}
|
|
1
|
+
{"version":3,"file":"server-status.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAwC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG,OAAO,EAAqB,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,EAAE,yCAAyC,EAAE,MAAM,0CAA0C,CAAC;AAGrG;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uCAAuC;IACtD;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AA0BD;;;;;;;;;;;;GAYG;AACH,8BAAsB,6BAA6B,CACjD,cAAc,SAAS,iBAAiB,EACxC,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9E,sBAAsB,SAAS,iBAAiB,EAChD,qCAAqC,SAAS,yCAAyC,CAAC,sBAAsB,CAAC,EAC/G,6BAA6B,SAAS,iCAAiC,CACrE,cAAc,EACd,OAAO,EACP,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,qCAAqC,CACtC,CACD,SAAQ,gBAAgB;IAMxB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAGrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAM;IAE1E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,GAAG,IAAI;IAIvE;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,uCAAuC;IAI/D;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,IAAI;IAIzC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAQtG;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;IAYvG,cAAc,IAAI,IAAI;CAkGvB"}
|
|
@@ -92,6 +92,26 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
92
92
|
const protectedNames = cfg.protectedEndpoints ?? DEFAULT_PROTECTED_ENDPOINTS;
|
|
93
93
|
return protectedNames.includes(endpointName) ? [cfg.authPreProcess] : [];
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* FR-263 (2026-06-26) — LAZY, REQUEST-IDŐBEN kiértékelt guard-wrapper (lásd a DyNTS_Errors_Controller
|
|
97
|
+
* azonos fixét). A `setupEndpoints()` a host-app `configure()`-ja ELŐTT futhat (korai singleton-
|
|
98
|
+
* konstrukció) → a guard ürès configgal kötődött → a `getServerStatus`/`getErrorStatistics` admin-adat
|
|
99
|
+
* token nélkül 200-at adott (info-disclosure). A wrapper a configot KÉRÉS-IDŐBEN olvassa → sorrend-
|
|
100
|
+
* független. A 401-et a valódi guard küldi; `headersSent`-re leállunk; nem-védett endpointnál no-op.
|
|
101
|
+
*/
|
|
102
|
+
lazyPreProcessesFor(endpointName) {
|
|
103
|
+
return [
|
|
104
|
+
async (req, res) => {
|
|
105
|
+
const guards = this.getPreProcessesFor(endpointName);
|
|
106
|
+
for (const guard of guards) {
|
|
107
|
+
if (res.headersSent) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
await guard(req, res);
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
];
|
|
114
|
+
}
|
|
95
115
|
setupEndpoints() {
|
|
96
116
|
/* if (!this.getServerService) {
|
|
97
117
|
throw new DyFM_Error({
|
|
@@ -111,7 +131,7 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
111
131
|
name: 'getServerStatus',
|
|
112
132
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
113
133
|
endpoint: '/status',
|
|
114
|
-
preProcesses: this.
|
|
134
|
+
preProcesses: this.lazyPreProcessesFor('getServerStatus'),
|
|
115
135
|
tasks: [
|
|
116
136
|
async (req, res, issuer) => {
|
|
117
137
|
res.send(await this.server_CS.getServerStatus(issuer));
|
|
@@ -122,7 +142,7 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
122
142
|
name: 'getServerHealth',
|
|
123
143
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
124
144
|
endpoint: '/health',
|
|
125
|
-
preProcesses: this.
|
|
145
|
+
preProcesses: this.lazyPreProcessesFor('getServerHealth'),
|
|
126
146
|
tasks: [
|
|
127
147
|
async (req, res, issuer) => {
|
|
128
148
|
res.send(await this.server_CS.getServerStatus(issuer));
|
|
@@ -135,7 +155,7 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
135
155
|
name: 'getServerReadiness',
|
|
136
156
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
137
157
|
endpoint: '/readiness',
|
|
138
|
-
preProcesses: this.
|
|
158
|
+
preProcesses: this.lazyPreProcessesFor('getServerReadiness'),
|
|
139
159
|
tasks: [
|
|
140
160
|
async (req, res, issuer) => {
|
|
141
161
|
const readiness = await this.server_CS.checkDbReadiness();
|
|
@@ -147,7 +167,7 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
147
167
|
name: 'getServerStatusForClient',
|
|
148
168
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
149
169
|
endpoint: '/status/:version',
|
|
150
|
-
preProcesses: this.
|
|
170
|
+
preProcesses: this.lazyPreProcessesFor('getServerStatusForClient'),
|
|
151
171
|
tasks: [
|
|
152
172
|
async (req, res, issuer) => {
|
|
153
173
|
res.send(await this.server_CS.getServerStatus(issuer, req.params.version));
|
|
@@ -158,7 +178,7 @@ class DyNTS_ServerStatus_Controller extends controller_service_1.DyNTS_Controlle
|
|
|
158
178
|
name: 'getErrorStatistics',
|
|
159
179
|
type: fsm_dynamo_1.DyFM_HttpCallType.get,
|
|
160
180
|
endpoint: '/statistics/error/:range',
|
|
161
|
-
preProcesses: this.
|
|
181
|
+
preProcesses: this.lazyPreProcessesFor('getErrorStatistics'),
|
|
162
182
|
tasks: [
|
|
163
183
|
async (req, res, issuer) => {
|
|
164
184
|
res.send(await this.server_CS.getErrorStatistics(req.params.range, issuer));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-status.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":";;;AAGA,sDAAyH;AAEzH,oFAA+E;AAC/E,iHAAsG;AACtG,uFAAoF;AAiCpF;;;;;;;;;;;GAWG;AACH,MAAM,sBAAsB,GAAa;IACvC,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,0BAA0B;CACvF,CAAC;AAEF;;;GAGG;AACH,MAAM,2BAA2B,GAAa;IAC5C,oBAAoB;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAsB,6BAepB,SAAQ,qCAAgB;IAQxB,mEAAmE;IAChD,mBAAmB,GAA4B,EAAE,CAAC;IAErE;;;OAGG;IACO,MAAM,CAAC,UAAU,GAA4C,EAAE,CAAC;IAE1E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,MAA+C;QAC9D,6BAA6B,CAAC,UAAU,GAAG,MAAM,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,6BAA6B,CAAC,UAAU,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,0BAA0B;QAC/B,6BAA6B,CAAC,UAAU,GAAG,EAAE,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACO,kBAAkB,CAAC,YAAoB;QAC/C,MAAM,GAAG,GAA4C,6BAA6B,CAAC,UAAU,CAAC;QAC9F,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACvC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACjE,MAAM,cAAc,GAAa,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,CAAC;QACvF,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,cAAc;QACZ;;;;;YAKI;QAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,uBAAU,CAAC;gBACnB,OAAO,EAAE,iEAAiE;gBAC1E,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QAEnD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server-status.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":";;;AAGA,sDAAyH;AAEzH,oFAA+E;AAC/E,iHAAsG;AACtG,uFAAoF;AAiCpF;;;;;;;;;;;GAWG;AACH,MAAM,sBAAsB,GAAa;IACvC,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,0BAA0B;CACvF,CAAC;AAEF;;;GAGG;AACH,MAAM,2BAA2B,GAAa;IAC5C,oBAAoB;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAsB,6BAepB,SAAQ,qCAAgB;IAQxB,mEAAmE;IAChD,mBAAmB,GAA4B,EAAE,CAAC;IAErE;;;OAGG;IACO,MAAM,CAAC,UAAU,GAA4C,EAAE,CAAC;IAE1E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,MAA+C;QAC9D,6BAA6B,CAAC,UAAU,GAAG,MAAM,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,6BAA6B,CAAC,UAAU,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,0BAA0B;QAC/B,6BAA6B,CAAC,UAAU,GAAG,EAAE,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACO,kBAAkB,CAAC,YAAoB;QAC/C,MAAM,GAAG,GAA4C,6BAA6B,CAAC,UAAU,CAAC;QAC9F,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACvC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACjE,MAAM,cAAc,GAAa,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,CAAC;QACvF,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACO,mBAAmB,CAAC,YAAoB;QAChD,OAAO;YACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;gBACnD,MAAM,MAAM,GAAuD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACzG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAChC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ;;;;;YAKI;QAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,uBAAU,CAAC;gBACnB,OAAO,EAAE,iEAAiE;gBAC1E,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QAEnD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;gBACzD,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAiB,EAAE;wBACnE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAC7C,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;gBACzD,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAiB,EAAE;wBACnE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAC7C,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,qFAAqF;YACrF,uFAAuF;YACvF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;gBAC5D,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAiB,EAAE;wBACnE,MAAM,SAAS,GAAsB,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;wBAE7E,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1D,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAClE,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAiB,EAAE;wBAEnE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CACjE,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,0BAA0B;gBACpC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;gBAC5D,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAkB,EAAE;wBAEpE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACrC,GAAG,CAAC,MAAM,CAAC,KAA0B,EACrC,MAAM,CACP,CACF,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,GAAG,IAAI,CAAC,mBAAmB;SAC5B,CAAC;IACJ,CAAC;;AAhMH,sEAiMC"}
|
package/package.json
CHANGED
|
@@ -181,53 +181,72 @@ describe('| DyNTS_Errors_Controller', () => {
|
|
|
181
181
|
DyNTS_Errors_Controller._resetAuthConfigForTesting();
|
|
182
182
|
});
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
// FR-263 — a guard mostantol REQUEST-IDOBEN fut (lazy wrapper); igy MINDEN endpoint-on pontosan
|
|
185
|
+
// 1 preProcess (a wrapper) van, a tenyleges guard-logikat a wrapper MEGHIVASAVAL teszteljuk.
|
|
186
|
+
const lazyWrapperOf = (c: any, name: string): ((req: any, res: any) => Promise<void>) | undefined => {
|
|
187
|
+
const ep: any = c.endpoints.find((e: any) => e.name === name);
|
|
188
|
+
return ep?.preProcesses?.[0];
|
|
189
|
+
};
|
|
190
|
+
const mockReqRes = (): { req: any; res: any } => ({ req: {} as any, res: { headersSent: false } as any });
|
|
191
|
+
|
|
192
|
+
it('| default (no config): a lazy wrapper jelen van, de egy keres NEM hiv guardot (nyitva marad)', async (): Promise<void> => {
|
|
185
193
|
controller.setupEndpoints();
|
|
186
|
-
for (const
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
194
|
+
for (const name of ['logError', 'getErrors', 'searchErrors']) {
|
|
195
|
+
const w = lazyWrapperOf(controller, name);
|
|
196
|
+
expect(w).withContext(`${name} wrapper`).toBeDefined();
|
|
197
|
+
const { req, res } = mockReqRes();
|
|
198
|
+
await w!(req, res); // nincs config → no-op, nem dob, nem blokkol
|
|
190
199
|
}
|
|
191
200
|
});
|
|
192
201
|
|
|
193
|
-
it('| configure({ authPreProcess }) →
|
|
194
|
-
|
|
195
|
-
DyNTS_Errors_Controller.configure({ authPreProcess:
|
|
196
|
-
// Uj controller instance kell — a setupEndpoints olvassa a static config-ot
|
|
202
|
+
it('| configure({ authPreProcess }) → egy keres MINDEN built-in endpoint-on meghivja a guardot', async (): Promise<void> => {
|
|
203
|
+
let calls: number = 0;
|
|
204
|
+
DyNTS_Errors_Controller.configure({ authPreProcess: async (): Promise<void> => { calls++; } });
|
|
197
205
|
const c = new (TestErrorsController as any)();
|
|
198
206
|
c.setupEndpoints();
|
|
199
|
-
|
|
200
207
|
const builtIn: string[] = [
|
|
201
|
-
'logError', 'newError',
|
|
202
|
-
'
|
|
203
|
-
'getErrors', 'getErrorsPaged', 'getLastErrors',
|
|
204
|
-
'searchErrors',
|
|
208
|
+
'logError', 'newError', 'markErrorDone', 'markAllErrorDone',
|
|
209
|
+
'getErrors', 'getErrorsPaged', 'getLastErrors', 'searchErrors',
|
|
205
210
|
];
|
|
206
211
|
for (const name of builtIn) {
|
|
207
|
-
const
|
|
208
|
-
expect(
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
expect(pre[0]).toBe(fakeAuth);
|
|
212
|
+
const w = lazyWrapperOf(c, name);
|
|
213
|
+
expect(w).withContext(`endpoint ${name} missing`).toBeDefined();
|
|
214
|
+
const { req, res } = mockReqRes();
|
|
215
|
+
await w!(req, res);
|
|
212
216
|
}
|
|
217
|
+
expect(calls).toBe(builtIn.length);
|
|
213
218
|
});
|
|
214
219
|
|
|
215
|
-
it('| configure({
|
|
216
|
-
|
|
220
|
+
it('| configure({ protectedEndpoints: subset }) → a guard CSAK a listazott endpoint-okon fut', async (): Promise<void> => {
|
|
221
|
+
let calls: number = 0;
|
|
217
222
|
DyNTS_Errors_Controller.configure({
|
|
218
|
-
authPreProcess:
|
|
223
|
+
authPreProcess: async (): Promise<void> => { calls++; },
|
|
219
224
|
protectedEndpoints: ['markAllErrorDone', 'logError'],
|
|
220
225
|
});
|
|
221
226
|
const c = new (TestErrorsController as any)();
|
|
222
227
|
c.setupEndpoints();
|
|
228
|
+
for (const name of ['markAllErrorDone', 'logError']) {
|
|
229
|
+
const { req, res } = mockReqRes();
|
|
230
|
+
await lazyWrapperOf(c, name)!(req, res);
|
|
231
|
+
}
|
|
232
|
+
expect(calls).withContext('protected → guard runs').toBe(2);
|
|
233
|
+
calls = 0;
|
|
234
|
+
const { req, res } = mockReqRes();
|
|
235
|
+
await lazyWrapperOf(c, 'getErrors')!(req, res);
|
|
236
|
+
expect(calls).withContext('non-protected getErrors → guard does NOT run').toBe(0);
|
|
237
|
+
});
|
|
223
238
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
239
|
+
it('| FR-263 ORDER-INDEPENDENCE: setupEndpoints() ELOTT epitett endpoint is enforce-olja a guardot (a fix lenyege)', async (): Promise<void> => {
|
|
240
|
+
// A framework korai singleton-konstrukcioja: az endpoints config NELKUL epul fel...
|
|
241
|
+
const c = new (TestErrorsController as any)();
|
|
242
|
+
c.setupEndpoints();
|
|
243
|
+
// ...es a configure() KESOBB fut (ez volt a fals-200 info-disclosure bug). A lazy wrapper
|
|
244
|
+
// request-idoben olvassa a configot → a guard MEGIS lefut. Ez az FR-263 regresszio-guard.
|
|
245
|
+
let calls: number = 0;
|
|
246
|
+
DyNTS_Errors_Controller.configure({ authPreProcess: async (): Promise<void> => { calls++; } });
|
|
247
|
+
const { req, res } = mockReqRes();
|
|
248
|
+
await lazyWrapperOf(c, 'getErrors')!(req, res);
|
|
249
|
+
expect(calls).withContext('guard must run despite configure() AFTER setupEndpoints').toBe(1);
|
|
231
250
|
});
|
|
232
251
|
|
|
233
252
|
it('| getAuthConfig() returns the active config', (): void => {
|