@futdevpro/nts-dynamo 1.11.29 → 1.11.31
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/.github/workflows/main.yml +1 -1
- package/build/_models/control-models/endpoint-params.control-model.d.ts +1 -1
- package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.js +9 -9
- package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
- package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts.map +1 -1
- package/build/_modules/discord-assistant/_services/dias-main.control-service.js.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js +1 -1
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-routines.control-service.js.map +1 -1
- package/build/_modules/open-ai/_collections/oai-chunking.util.d.ts.map +1 -1
- package/build/_modules/open-ai/_collections/oai-chunking.util.js +1 -1
- package/build/_modules/open-ai/_collections/oai-chunking.util.js.map +1 -1
- package/build/_modules/open-ai/_services/oai-chunk.service-base.d.ts.map +1 -1
- package/build/_modules/open-ai/_services/oai-chunk.service-base.js +1 -1
- package/build/_modules/open-ai/_services/oai-chunk.service-base.js.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js +10 -10
- package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
- package/build/_modules/open-ai/_services/oai-llm.service-base.js +6 -6
- package/build/_modules/open-ai/_services/oai-vector-data.service.d.ts.map +1 -1
- package/build/_modules/open-ai/_services/oai-vector-data.service.js +2 -2
- package/build/_modules/open-ai/_services/oai-vector-data.service.js.map +1 -1
- package/build/_modules/server/errors/errors.control-service.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.data-service.js +3 -3
- package/build/_modules/server/errors/errors.data-service.js.map +1 -1
- package/build/_modules/socket/_services/socket-client.service.js +2 -2
- package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
- package/build/_modules/socket/app-extended.server.d.ts.map +1 -1
- package/build/_modules/socket/app-extended.server.js +2 -2
- package/build/_modules/socket/app-extended.server.js.map +1 -1
- package/build/_modules/socket/app-extended.server.spec.js +19 -19
- package/build/_modules/socket/app-extended.server.spec.js.map +1 -1
- package/build/_services/route/routing-module.service.d.ts +4 -3
- package/build/_services/route/routing-module.service.d.ts.map +1 -1
- package/build/_services/route/routing-module.service.js +2 -0
- package/build/_services/route/routing-module.service.js.map +1 -1
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +9 -7
- package/build/_services/server/app.server.js.map +1 -1
- package/build/_services/server/app.server.spec.js +10 -10
- package/build/_services/server/app.server.spec.js.map +1 -1
- package/build/_services/shared.static-service.d.ts +2 -2
- package/build/_services/shared.static-service.js +1 -1
- package/package.json +3 -3
- package/src/_models/control-models/endpoint-params.control-model.ts +10 -10
- package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +1 -2
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +2 -2
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +1 -1
- package/src/_modules/open-ai/_collections/oai-chunking.util.ts +2 -2
- package/src/_modules/open-ai/_services/oai-chunk.service-base.ts +2 -2
- package/src/_modules/open-ai/_services/oai-llm-chat.service-base.ts +11 -11
- package/src/_modules/open-ai/_services/oai-llm.service-base.ts +7 -7
- package/src/_modules/open-ai/_services/oai-vector-data.service.ts +3 -4
- package/src/_modules/server/errors/errors.control-service.ts +1 -1
- package/src/_modules/server/errors/errors.data-service.ts +4 -4
- package/src/_modules/socket/_services/socket-client.service.ts +3 -3
- package/src/_modules/socket/app-extended.server.spec.ts +20 -20
- package/src/_modules/socket/app-extended.server.ts +3 -4
- package/src/_services/route/routing-module.service.ts +9 -4
- package/src/_services/server/app.server.spec.ts +11 -12
- package/src/_services/server/app.server.ts +14 -11
- package/src/_services/shared.static-service.ts +2 -2
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
DyFM_AnyError,
|
|
7
7
|
DyFM_DBFilter,
|
|
8
8
|
DyFM_DataModel_Params, DyFM_Error, DyFM_ErrorLevel, DyFM_Error_Settings,
|
|
9
|
-
DyFM_Log,
|
|
9
|
+
DyFM_Log, DyFM_Object, DyFM_errorFlag, DyFM_Errors,
|
|
10
10
|
DyFM_RelativeDate,
|
|
11
11
|
DyFM_Array,
|
|
12
12
|
DyFM_Paged,
|
|
@@ -140,7 +140,7 @@ export class DyNTS_Errors_DataService<
|
|
|
140
140
|
await this.updateData({
|
|
141
141
|
filterBy: { _id: duplicateError._id } as DyFM_DBFilter<Error_T>,
|
|
142
142
|
update: {
|
|
143
|
-
$push: { duplications:
|
|
143
|
+
$push: { duplications: DyFM_Object.clone(data) },
|
|
144
144
|
} as DyNTS_DBUpdate<Error_T>,
|
|
145
145
|
}).catch((pushError) => {
|
|
146
146
|
DyFM_Log.error('pushError:', pushError);
|
|
@@ -165,7 +165,7 @@ export class DyNTS_Errors_DataService<
|
|
|
165
165
|
if (this.debugLog) DyFM_Log.error('Error:', errorsRecord);
|
|
166
166
|
|
|
167
167
|
errorsRecord.priority = this.getPriorityMultiplierByLevel(errorsRecord?.level);
|
|
168
|
-
errorsRecord.duplications.push(
|
|
168
|
+
errorsRecord.duplications.push(DyFM_Object.clone(errorsRecord));
|
|
169
169
|
|
|
170
170
|
this.duplicationCounter = 1;
|
|
171
171
|
|
|
@@ -315,7 +315,7 @@ export class DyNTS_Errors_DataService<
|
|
|
315
315
|
DyFM_Log.error('checkErrorIsStringifyableOrResolvable error:', err);
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
error =
|
|
318
|
+
error = DyFM_Object.resolveCirculation(error);
|
|
319
319
|
|
|
320
320
|
try {
|
|
321
321
|
JSON.stringify(error);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import * as SocketIOClient from 'socket.io-client';
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
DyFM_Error, DyFM_Log,
|
|
7
|
+
DyFM_Error, DyFM_Log, DyFM_Async, DyFM_Array, DyFM_errorFlag
|
|
8
8
|
} from '@futdevpro/fsm-dynamo';
|
|
9
9
|
import { DyFM_SocketEvent, DyFM_SocketEvent_Key } from '@futdevpro/fsm-dynamo/socket';
|
|
10
10
|
|
|
@@ -49,7 +49,7 @@ export abstract class DyNTS_SocketClient_ServiceBase extends DyNTS_SingletonServ
|
|
|
49
49
|
DyFM_Log.warn(`<x > socket-client (${this.params.name}) disconnected!`);
|
|
50
50
|
|
|
51
51
|
if (this._params.reconnect) {
|
|
52
|
-
await
|
|
52
|
+
await DyFM_Async.delay(this._params.reconnectDelay);
|
|
53
53
|
this.connectSocket();
|
|
54
54
|
}
|
|
55
55
|
},
|
|
@@ -212,7 +212,7 @@ export abstract class DyNTS_SocketClient_ServiceBase extends DyNTS_SingletonServ
|
|
|
212
212
|
try {
|
|
213
213
|
if (this.logFn) console.log(`\nFn:. tryReconnectIfNeeded`);
|
|
214
214
|
this.tryingToReconnect = true;
|
|
215
|
-
await
|
|
215
|
+
await DyFM_Async.delay(this._params.reconnectDelay);
|
|
216
216
|
|
|
217
217
|
this.tryingToReconnect = false;
|
|
218
218
|
if (!this._connected) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DyFM_Async, DyFM_Error, DyFM_Log, second } from '@futdevpro/fsm-dynamo';
|
|
2
2
|
import {
|
|
3
3
|
DyNTS_AppExtendedBase_Mock, DyNTS_AppExtendedFull_Mock, DyNTS_AppWbMock_Mock
|
|
4
4
|
} from '../mock/app-extended-server.mock';
|
|
@@ -25,7 +25,7 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
25
25
|
const waitForAppReady = async (appInstance: DyNTS_AppExtended, timeoutMs: number = 10000): Promise<void> => {
|
|
26
26
|
const startTime = Date.now();
|
|
27
27
|
while (!appInstance.started && (Date.now() - startTime) < timeoutMs) {
|
|
28
|
-
await
|
|
28
|
+
await DyFM_Async.delay(100);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
if (!appInstance.started) {
|
|
@@ -36,16 +36,16 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
36
36
|
describe('| a extended-base instance;', (): void => {
|
|
37
37
|
beforeEach(async (): Promise<void> => {
|
|
38
38
|
try {
|
|
39
|
-
await
|
|
40
|
-
await
|
|
39
|
+
await DyFM_Async.waitUntil((): boolean => !app, second);
|
|
40
|
+
await DyFM_Async.delay(100); // Ensure previous instance is fully cleaned up
|
|
41
41
|
|
|
42
42
|
app = new DyNTS_AppExtendedBase_Mock();
|
|
43
|
-
await
|
|
43
|
+
await DyFM_Async.delay(100);
|
|
44
44
|
|
|
45
45
|
await app.ready();
|
|
46
46
|
await waitForAppReady(app);
|
|
47
47
|
|
|
48
|
-
await
|
|
48
|
+
await DyFM_Async.delay(100);
|
|
49
49
|
} catch (error) {
|
|
50
50
|
DyFM_Log.testError(
|
|
51
51
|
'| DyNTS_AppExtended; | a extended-base instance; test beforeEach error:\n',
|
|
@@ -66,9 +66,9 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
66
66
|
|
|
67
67
|
afterEach(async (): Promise<void> => {
|
|
68
68
|
try {
|
|
69
|
-
await
|
|
69
|
+
await DyFM_Async.delay(100);
|
|
70
70
|
await safeStopApp();
|
|
71
|
-
await
|
|
71
|
+
await DyFM_Async.delay(100);
|
|
72
72
|
} catch (error) {
|
|
73
73
|
DyFM_Log.testError(
|
|
74
74
|
'| DyNTS_AppExtended; | a extended-base instance; test afterEach error:\n',
|
|
@@ -100,16 +100,16 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
100
100
|
describe('| a extended-full instance;', (): void => {
|
|
101
101
|
beforeEach(async (): Promise<void> => {
|
|
102
102
|
try {
|
|
103
|
-
await
|
|
104
|
-
await
|
|
103
|
+
await DyFM_Async.waitUntil((): boolean => !app, second);
|
|
104
|
+
await DyFM_Async.delay(100); // Ensure previous instance is fully cleaned up
|
|
105
105
|
|
|
106
106
|
app = new DyNTS_AppExtendedFull_Mock();
|
|
107
|
-
await
|
|
107
|
+
await DyFM_Async.delay(100);
|
|
108
108
|
|
|
109
109
|
await app.ready();
|
|
110
110
|
await waitForAppReady(app);
|
|
111
111
|
|
|
112
|
-
await
|
|
112
|
+
await DyFM_Async.delay(100);
|
|
113
113
|
} catch (error) {
|
|
114
114
|
DyFM_Log.testError(
|
|
115
115
|
'| DyNTS_AppExtended; | a extended-full instance; test beforeEach error:\n',
|
|
@@ -130,9 +130,9 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
130
130
|
|
|
131
131
|
afterEach(async (): Promise<void> => {
|
|
132
132
|
try {
|
|
133
|
-
await
|
|
133
|
+
await DyFM_Async.delay(100);
|
|
134
134
|
await safeStopApp();
|
|
135
|
-
await
|
|
135
|
+
await DyFM_Async.delay(100);
|
|
136
136
|
} catch (error) {
|
|
137
137
|
DyFM_Log.testError(
|
|
138
138
|
'| DyNTS_AppExtended; | a extended-full instance; test afterEach error:\n',
|
|
@@ -164,16 +164,16 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
164
164
|
describe('| a wb-mock instance;', (): void => {
|
|
165
165
|
beforeEach(async (): Promise<void> => {
|
|
166
166
|
try {
|
|
167
|
-
await
|
|
168
|
-
await
|
|
167
|
+
await DyFM_Async.waitUntil((): boolean => !app, second);
|
|
168
|
+
await DyFM_Async.delay(100); // Ensure previous instance is fully cleaned up
|
|
169
169
|
|
|
170
170
|
app = new DyNTS_AppWbMock_Mock();
|
|
171
|
-
await
|
|
171
|
+
await DyFM_Async.delay(100);
|
|
172
172
|
|
|
173
173
|
await app.ready();
|
|
174
174
|
await waitForAppReady(app);
|
|
175
175
|
|
|
176
|
-
await
|
|
176
|
+
await DyFM_Async.delay(100);
|
|
177
177
|
} catch (error) {
|
|
178
178
|
DyFM_Log.testError(
|
|
179
179
|
'| DyNTS_AppExtended; | a wb-mock instance; test beforeEach error:\n',
|
|
@@ -194,9 +194,9 @@ describe('| DyNTS_AppExtended;', (): void => {
|
|
|
194
194
|
|
|
195
195
|
afterEach(async (): Promise<void> => {
|
|
196
196
|
try {
|
|
197
|
-
await
|
|
197
|
+
await DyFM_Async.delay(100);
|
|
198
198
|
await safeStopApp();
|
|
199
|
-
await
|
|
199
|
+
await DyFM_Async.delay(100);
|
|
200
200
|
} catch (error) {
|
|
201
201
|
DyFM_Log.testError(
|
|
202
202
|
'| DyNTS_AppExtended; | a wb-mock instance; test afterEach error:\n',
|
|
@@ -5,12 +5,11 @@ import * as SocketIO from 'socket.io';
|
|
|
5
5
|
import {
|
|
6
6
|
DyFM_AnyError,
|
|
7
7
|
DyFM_Array,
|
|
8
|
-
|
|
8
|
+
DyFM_Async,
|
|
9
9
|
DyFM_Error,
|
|
10
10
|
DyFM_Error_Settings,
|
|
11
11
|
DyFM_ErrorLevel,
|
|
12
12
|
DyFM_Log,
|
|
13
|
-
DyFM_wait
|
|
14
13
|
} from '@futdevpro/fsm-dynamo';
|
|
15
14
|
|
|
16
15
|
import { DyNTS_global_settings } from '../../_collections/global-settings.const';
|
|
@@ -283,7 +282,7 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
283
282
|
}
|
|
284
283
|
|
|
285
284
|
if (!ready) {
|
|
286
|
-
await
|
|
285
|
+
await DyFM_Async.wait(100);
|
|
287
286
|
}
|
|
288
287
|
}
|
|
289
288
|
|
|
@@ -400,7 +399,7 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
400
399
|
this.systemControlsExt.httpSocketServer.init = false;
|
|
401
400
|
this.systemControlsExt.httpsSocketServer.init = false;
|
|
402
401
|
|
|
403
|
-
await
|
|
402
|
+
await DyFM_Async.delay(100);
|
|
404
403
|
|
|
405
404
|
DyFM_Log.H_info(`"${this.params.name}" stopped successfully.`);
|
|
406
405
|
}
|
|
@@ -4,7 +4,9 @@ import { Router } from 'express';
|
|
|
4
4
|
import {
|
|
5
5
|
DyFM_AnyError, DyFM_Error, DyFM_ErrorLevel, DyFM_Error_Settings,
|
|
6
6
|
DyFM_HttpCallType,
|
|
7
|
-
DyFM_Log
|
|
7
|
+
DyFM_Log,
|
|
8
|
+
DyFM_getConstructionStackLocation,
|
|
9
|
+
DyFM_getLocalStackLocation
|
|
8
10
|
} from '@futdevpro/fsm-dynamo';
|
|
9
11
|
|
|
10
12
|
import { DyNTS_global_settings } from '../../_collections/global-settings.const';
|
|
@@ -66,13 +68,15 @@ export class DyNTS_RoutingModule {
|
|
|
66
68
|
/* serviceName: string; */
|
|
67
69
|
|
|
68
70
|
security: DyNTS_RouteSecurity;
|
|
69
|
-
route: string;
|
|
71
|
+
readonly route: string;
|
|
70
72
|
|
|
71
73
|
private readonly controllers: DyNTS_Controller[];
|
|
72
74
|
endpoints: DyNTS_Endpoint_Params[] = [];
|
|
73
75
|
|
|
74
|
-
openRouter: Router = Router();
|
|
75
|
-
secureRouter: Router = Router();
|
|
76
|
+
readonly openRouter: Router = Router();
|
|
77
|
+
readonly secureRouter: Router = Router();
|
|
78
|
+
|
|
79
|
+
readonly stackLocation: string;
|
|
76
80
|
|
|
77
81
|
get logSetup(): boolean {
|
|
78
82
|
return DyNTS_global_settings.log_settings.setup;
|
|
@@ -91,6 +95,7 @@ export class DyNTS_RoutingModule {
|
|
|
91
95
|
this.controllers = set.controllers ?? [];
|
|
92
96
|
this.setupRoutes();
|
|
93
97
|
this.mountRoutes(set.securityOverride);
|
|
98
|
+
this.stackLocation = DyFM_getConstructionStackLocation();
|
|
94
99
|
|
|
95
100
|
if (this.logSetup) console.log(
|
|
96
101
|
`routing module setup done: ${this.route} security: ${this.security}\n`
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyFM_Error, DyFM_Log, DyFM_delay, DyFM_waitUntil, second } from '@futdevpro/fsm-dynamo';
|
|
1
|
+
import { DyFM_Error, DyFM_Log, DyFM_Async, second } from '@futdevpro/fsm-dynamo';
|
|
3
2
|
import { DyNTS_AppBase_Mock, DyNTS_AppFull_Mock } from '../../_modules/mock/app-server.mock';
|
|
4
3
|
import { DyNTS_App } from './app.server';
|
|
5
4
|
|
|
@@ -11,15 +10,15 @@ describe('| DyNTS_App AND DyNTS_AppExtended?;', (): void => {
|
|
|
11
10
|
describe('| a base instance;', (): void => {
|
|
12
11
|
beforeEach(async (): Promise<void> => {
|
|
13
12
|
try {
|
|
14
|
-
await
|
|
13
|
+
await DyFM_Async.waitUntil((): boolean => !app, second);
|
|
15
14
|
|
|
16
15
|
app = new DyNTS_AppBase_Mock();
|
|
17
16
|
|
|
18
|
-
await
|
|
17
|
+
await DyFM_Async.delay(100);
|
|
19
18
|
|
|
20
19
|
await app.ready();
|
|
21
20
|
|
|
22
|
-
await
|
|
21
|
+
await DyFM_Async.delay(100);
|
|
23
22
|
} catch (error) {
|
|
24
23
|
DyFM_Log.testError(
|
|
25
24
|
'| DyNTS_App; | a base instance; test beforeEach error:\n',
|
|
@@ -39,13 +38,13 @@ describe('| DyNTS_App AND DyNTS_AppExtended?;', (): void => {
|
|
|
39
38
|
|
|
40
39
|
afterEach(async (): Promise<void> => {
|
|
41
40
|
try {
|
|
42
|
-
await
|
|
41
|
+
await DyFM_Async.delay(100);
|
|
43
42
|
|
|
44
43
|
await app.stop();
|
|
45
44
|
|
|
46
45
|
app = null;
|
|
47
46
|
|
|
48
|
-
await
|
|
47
|
+
await DyFM_Async.delay(100);
|
|
49
48
|
} catch (error) {
|
|
50
49
|
DyFM_Log.testError(
|
|
51
50
|
'| DyNTS_App; | a base instance; test afterEach error:\n',
|
|
@@ -75,15 +74,15 @@ describe('| DyNTS_App AND DyNTS_AppExtended?;', (): void => {
|
|
|
75
74
|
describe('| a full instance;', (): void => {
|
|
76
75
|
beforeEach(async (): Promise<void> => {
|
|
77
76
|
try {
|
|
78
|
-
await
|
|
77
|
+
await DyFM_Async.waitUntil((): boolean => !app, second);
|
|
79
78
|
|
|
80
79
|
app = new DyNTS_AppFull_Mock();
|
|
81
80
|
|
|
82
|
-
await
|
|
81
|
+
await DyFM_Async.delay(100);
|
|
83
82
|
|
|
84
83
|
await app.ready();
|
|
85
84
|
|
|
86
|
-
await
|
|
85
|
+
await DyFM_Async.delay(100);
|
|
87
86
|
} catch (error) {
|
|
88
87
|
DyFM_Log.testError(
|
|
89
88
|
'| DyNTS_App; | a full instance; test beforeEach error:\n',
|
|
@@ -103,13 +102,13 @@ describe('| DyNTS_App AND DyNTS_AppExtended?;', (): void => {
|
|
|
103
102
|
|
|
104
103
|
afterEach(async (): Promise<void> => {
|
|
105
104
|
try {
|
|
106
|
-
await
|
|
105
|
+
await DyFM_Async.delay(100);
|
|
107
106
|
|
|
108
107
|
await app.stop();
|
|
109
108
|
|
|
110
109
|
app = null;
|
|
111
110
|
|
|
112
|
-
await
|
|
111
|
+
await DyFM_Async.delay(100);
|
|
113
112
|
} catch (error) {
|
|
114
113
|
DyFM_Log.testError(
|
|
115
114
|
'| DyNTS_App; | a full instance; test afterEach error:\n',
|
|
@@ -15,11 +15,12 @@ import dotenv from 'dotenv'
|
|
|
15
15
|
import {
|
|
16
16
|
DyFM_AnyError,
|
|
17
17
|
DyFM_Array,
|
|
18
|
-
|
|
19
|
-
DyFM_Error,
|
|
18
|
+
DyFM_Async,
|
|
19
|
+
DyFM_Error,
|
|
20
|
+
DyFM_error_defaults,
|
|
20
21
|
DyFM_Error_Settings,
|
|
21
|
-
DyFM_ErrorLevel,
|
|
22
|
-
|
|
22
|
+
DyFM_ErrorLevel,
|
|
23
|
+
DyFM_Log,
|
|
23
24
|
second
|
|
24
25
|
} from '@futdevpro/fsm-dynamo';
|
|
25
26
|
|
|
@@ -530,7 +531,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
530
531
|
try {
|
|
531
532
|
if (this.fnLogs) DyFM_Log.log('\nfn:. ready');
|
|
532
533
|
|
|
533
|
-
await
|
|
534
|
+
await DyFM_Async.delay(100);
|
|
534
535
|
|
|
535
536
|
let ready: boolean = false;
|
|
536
537
|
const start: number = +new Date();
|
|
@@ -576,7 +577,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
576
577
|
}
|
|
577
578
|
|
|
578
579
|
if (!ready) {
|
|
579
|
-
await
|
|
580
|
+
await DyFM_Async.wait(100);
|
|
580
581
|
}
|
|
581
582
|
}
|
|
582
583
|
|
|
@@ -720,7 +721,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
720
721
|
tryCount++ < 10
|
|
721
722
|
) {
|
|
722
723
|
DyFM_Log.warn(`Mongoose not even started yet....`);
|
|
723
|
-
await
|
|
724
|
+
await DyFM_Async.wait(second);
|
|
724
725
|
}
|
|
725
726
|
this.systemControls.mongoose.started = false;
|
|
726
727
|
|
|
@@ -749,7 +750,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
749
750
|
!this.constructErrors.length
|
|
750
751
|
) {
|
|
751
752
|
DyFM_Log.warn(`\nMongoose still not disconnected....`);
|
|
752
|
-
await
|
|
753
|
+
await DyFM_Async.wait(second);
|
|
753
754
|
}
|
|
754
755
|
} else {
|
|
755
756
|
DyFM_Log.error(`\nMongoose not found.`);
|
|
@@ -783,7 +784,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
783
784
|
this.systemControls.httpsServer.init = false;
|
|
784
785
|
}
|
|
785
786
|
|
|
786
|
-
await
|
|
787
|
+
await DyFM_Async.wait(second);
|
|
787
788
|
|
|
788
789
|
if (!dontLog) {
|
|
789
790
|
DyFM_Log.H_log(`"${this._params.name}" stopped successfully.`);
|
|
@@ -968,10 +969,12 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
968
969
|
this._routingModules.forEach((module: DyNTS_RoutingModule): void => {
|
|
969
970
|
if (module.security && module.security !== DyNTS_RouteSecurity.open) {
|
|
970
971
|
errorMsg += `\n ${module.route} (security: ${module.security})`;
|
|
971
|
-
errorMsg += `\n
|
|
972
|
+
errorMsg += `\n location: ${module.stackLocation}`;
|
|
973
|
+
errorMsg += `\n subroutes using secure sever:`;
|
|
972
974
|
module.endpoints.forEach((endpoint: DyNTS_Endpoint_Params): void => {
|
|
973
975
|
if (endpoint.security && endpoint.security !== DyNTS_RouteSecurity.open) {
|
|
974
|
-
errorMsg += `\n
|
|
976
|
+
errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;
|
|
977
|
+
errorMsg += `\n location: ${endpoint.stackLocation}`;
|
|
975
978
|
}
|
|
976
979
|
});
|
|
977
980
|
}
|
|
@@ -3,13 +3,13 @@ import * as ReadLine from 'readline';
|
|
|
3
3
|
import * as GeoIp from 'geoip-lite';
|
|
4
4
|
import { Request } from 'express';
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { DyFM_Object } from '@futdevpro/fsm-dynamo';
|
|
7
7
|
import { DyFM_GeoIpLocation } from '@futdevpro/fsm-dynamo/location';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Collection of static helper utilities shared across modules.
|
|
11
11
|
*/
|
|
12
|
-
export class DyNTS_Shared extends
|
|
12
|
+
export class DyNTS_Shared extends DyFM_Object {
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Extract the IP address from an Express request.
|