@futdevpro/fsm-dynamo 1.10.11 → 1.10.12
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/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +4 -4
- package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js +7 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
- package/build/_modules/test/_collections/tst-module-settings.const.d.ts +17 -0
- package/build/_modules/test/_collections/tst-module-settings.const.d.ts.map +1 -1
- package/build/_modules/test/_collections/tst-module-settings.const.js.map +1 -1
- package/build/_modules/usage/_collections/usg-module-settings.const.d.ts +11 -0
- package/build/_modules/usage/_collections/usg-module-settings.const.d.ts.map +1 -1
- package/build/_modules/usage/_collections/usg-module-settings.const.js.map +1 -1
- package/futdevpro-fsm-dynamo-01.10.12.tgz +0 -0
- package/package.json +1 -1
- package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +22 -4
- package/src/_modules/test/_collections/tst-module-settings.const.ts +21 -0
- package/src/_modules/usage/_collections/usg-module-settings.const.ts +14 -0
- package/futdevpro-fsm-dynamo-01.10.11.tgz +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { DyFM_HttpCallType } from '../../_enums/http-call-type.enum';
|
|
2
|
-
export interface DyFM_EndpointTypesContainer<T_Result, T_Inputs extends Array<any
|
|
2
|
+
export interface DyFM_EndpointTypesContainer<T_Result, T_Inputs extends Array<any> = [], T_Body = undefined> {
|
|
3
3
|
resultType: T_Result;
|
|
4
4
|
inputTypes: T_Inputs;
|
|
5
5
|
bodyType: T_Body;
|
|
6
6
|
}
|
|
7
|
-
export type
|
|
7
|
+
export type DyFM_ServiceEndpointTypesSettings = {
|
|
8
8
|
[key: string]: DyFM_EndpointTypesContainer<unknown, any, unknown>;
|
|
9
9
|
};
|
|
10
10
|
export declare class DyFM_Endpoint_SettingsBase<T_Result, I_Inputs, T_Body> {
|
|
11
11
|
name?: string;
|
|
12
12
|
type?: DyFM_HttpCallType;
|
|
13
|
-
|
|
13
|
+
endpoint?: string;
|
|
14
14
|
pathParamKeys?: string[];
|
|
15
15
|
constructor(set: DyFM_Endpoint_SettingsBase<T_Result, I_Inputs, T_Body>);
|
|
16
16
|
}
|
|
17
|
-
export type DyFM_ServiceEndpoint_SettingsBase<T extends
|
|
17
|
+
export type DyFM_ServiceEndpoint_SettingsBase<T extends DyFM_ServiceEndpointTypesSettings> = {
|
|
18
18
|
[K in keyof T]: DyFM_Endpoint_SettingsBase<T[K]['resultType'], T[K]['inputTypes'], T[K]['bodyType']>;
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=service-endpoint-settings-base.control-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-endpoint-settings-base.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/service-endpoint-settings-base.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAgBrE,MAAM,WAAW,2BAA2B,
|
|
1
|
+
{"version":3,"file":"service-endpoint-settings-base.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/service-endpoint-settings-base.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAgBrE,MAAM,WAAW,2BAA2B,CAC1C,QAAQ,EACR,QAAQ,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAChC,MAAM,GAAG,SAAS;IAElB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,iCAAiC,GAAG;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,2BAA2B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;CACnE,CAAA;AAED,qBAAa,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAM;gBAG5B,GAAG,EAAE,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;CAkB9D;AACD,MAAM,MAAM,iCAAiC,CAAC,CAAC,SAAS,iCAAiC,IAAI;KAC1F,CAAC,IAAI,MAAM,CAAC,GAAG,0BAA0B,CACxC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CACzD;CACF,CAAA"}
|
|
@@ -4,10 +4,16 @@ exports.DyFM_Endpoint_SettingsBase = void 0;
|
|
|
4
4
|
class DyFM_Endpoint_SettingsBase {
|
|
5
5
|
name;
|
|
6
6
|
type;
|
|
7
|
-
|
|
7
|
+
endpoint;
|
|
8
8
|
pathParamKeys = [];
|
|
9
9
|
constructor(set) {
|
|
10
|
+
if (set.endpoint.includes('{')) {
|
|
11
|
+
console.warn(`using {param} brackets in endpoint definitions will be deprecated... ` +
|
|
12
|
+
`\nuse :param instead ({pathParam} --> :pathParam) (${set.name})`);
|
|
13
|
+
set.endpoint = set.endpoint.replace(/{/g, ':').replace(/}/g, '');
|
|
14
|
+
}
|
|
10
15
|
Object.assign(this, set);
|
|
16
|
+
this.pathParamKeys = this.endpoint.split('/').filter((part) => part.startsWith(':')).map((part) => part.replace(':', ''));
|
|
11
17
|
}
|
|
12
18
|
}
|
|
13
19
|
exports.DyFM_Endpoint_SettingsBase = DyFM_Endpoint_SettingsBase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-endpoint-settings-base.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/service-endpoint-settings-base.control-model.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"service-endpoint-settings-base.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/service-endpoint-settings-base.control-model.ts"],"names":[],"mappings":";;;AA6BA,MAAa,0BAA0B;IACrC,IAAI,CAAU;IACd,IAAI,CAAqB;IACzB,QAAQ,CAAU;IAElB,aAAa,GAAc,EAAE,CAAC;IAE9B,YACE,GAA2D;QAE3D,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CACV,uEAAuE;gBACvE,sDAAsD,GAAG,CAAC,IAAI,GAAG,CAClE,CAAC;YACF,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAClD,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAChD,CAAC,GAAG,CACH,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAChD,CAAC;IACJ,CAAC;CACF;AA1BD,gEA0BC;AAOD;;;;;;;;;;;;;;;;;;;;;;IAsBI;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0CI"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DyFM_EndpointTypesContainer, DyFM_ServiceEndpointTypesSettings } from '../../../_models/control-models/service-endpoint-settings-base.control-model';
|
|
1
2
|
import { DyFM_Route_Settings } from '../../../_models/interfaces/route-settings.interface';
|
|
2
3
|
export declare enum DyFM_TestRoute {
|
|
3
4
|
testGet = "testGet",
|
|
@@ -12,4 +13,20 @@ export declare const DyFM_fullTestRoute: {
|
|
|
12
13
|
testDelete: string;
|
|
13
14
|
getServerStatus: string;
|
|
14
15
|
};
|
|
16
|
+
export interface DyFM_Test_EndpointTypeSettings extends DyFM_ServiceEndpointTypesSettings {
|
|
17
|
+
[DyFM_TestRoute.testGet]: DyFM_EndpointTypesContainer<DyFM_Test_Result>;
|
|
18
|
+
[DyFM_TestRoute.testPost]: DyFM_EndpointTypesContainer<DyFM_Test_Result, any, any>;
|
|
19
|
+
[DyFM_TestRoute.testDelete]: DyFM_EndpointTypesContainer<DyFM_Test_Result>;
|
|
20
|
+
[DyFM_TestRoute.getServerStatus]: DyFM_EndpointTypesContainer<{
|
|
21
|
+
status: 'ready';
|
|
22
|
+
version: string;
|
|
23
|
+
upTime: number;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
interface DyFM_Test_Result {
|
|
27
|
+
url: string;
|
|
28
|
+
result: string;
|
|
29
|
+
request: any;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
15
32
|
//# sourceMappingURL=tst-module-settings.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tst-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/test/_collections/tst-module-settings.const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAE3F,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,eAAe,oBAAoB;CACpC;AAED,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,CAAC,cAAc,CAQxE,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"tst-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/test/_collections/tst-module-settings.const.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EAClC,MAAM,8EAA8E,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAE3F,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,eAAe,oBAAoB;CACpC;AAED,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,CAAC,cAAc,CAQxE,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC;AAEF,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IACxE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnF,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC3E,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,2BAA2B,CAAC;QAC5D,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tst-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/test/_collections/tst-module-settings.const.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tst-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/test/_collections/tst-module-settings.const.ts"],"names":[],"mappings":";;;AAOA,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;AACrC,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAEY,QAAA,wBAAwB,GAAwC;IAC3E,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE;QACT,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW;QACrC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY;QACvC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,cAAc;QAC3C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,gBAAgB;KACnD;CACF,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAChC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,gCAAwB,CAAC,SAAS;QAC1D,gCAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC;IAC5D,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,gCAAwB,CAAC,SAAS;QAC3D,gCAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC7D,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,gCAAwB,CAAC,SAAS;QAC7D,gCAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC;IAC/D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,gCAAwB,CAAC,SAAS;QAClE,gCAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC;CACrE,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { DyFM_RelativeDate } from '../../../_enums/time/relative-date.enum';
|
|
2
|
+
import { DyFM_EndpointTypesContainer, DyFM_ServiceEndpointTypesSettings } from '../../../_models/control-models/service-endpoint-settings-base.control-model';
|
|
1
3
|
import { DyFM_Route_Settings } from '../../../_models/interfaces/route-settings.interface';
|
|
4
|
+
import { DyFM_DailyUsageData } from '../_models/usg-daily-usage-data.control-model';
|
|
5
|
+
import { DyFM_UsageData } from '../_models/usg-data.control-model';
|
|
6
|
+
import { DyFM_UsageSession } from '../_models/usg-session.data-model';
|
|
2
7
|
export declare enum DyFM_UsageRoute {
|
|
3
8
|
newSession = "newSession",
|
|
4
9
|
closeSession = "closeSession",
|
|
@@ -6,4 +11,10 @@ export declare enum DyFM_UsageRoute {
|
|
|
6
11
|
getUsageData = "getUsageData"
|
|
7
12
|
}
|
|
8
13
|
export declare const DyFM_usageModule_settings: DyFM_Route_Settings<DyFM_UsageRoute>;
|
|
14
|
+
export interface DyFM_Usage_EndpointTypeSettings extends DyFM_ServiceEndpointTypesSettings {
|
|
15
|
+
[DyFM_UsageRoute.newSession]: DyFM_EndpointTypesContainer<DyFM_UsageSession>;
|
|
16
|
+
[DyFM_UsageRoute.closeSession]: DyFM_EndpointTypesContainer<DyFM_UsageSession, [string]>;
|
|
17
|
+
[DyFM_UsageRoute.updateUsage]: DyFM_EndpointTypesContainer<DyFM_UsageSession, [string, DyFM_UsageData[], DyFM_UsageData[]]>;
|
|
18
|
+
[DyFM_UsageRoute.getUsageData]: DyFM_EndpointTypesContainer<DyFM_DailyUsageData[], [DyFM_RelativeDate]>;
|
|
19
|
+
}
|
|
9
20
|
//# sourceMappingURL=usg-module-settings.const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usg-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/usage/_collections/usg-module-settings.const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"usg-module-settings.const.d.ts","sourceRoot":"","sources":["../../../../src/_modules/usage/_collections/usg-module-settings.const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EACL,2BAA2B,EAAE,iCAAiC,EAC/D,MAAM,8EAA8E,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,CAAC,eAAe,CAQ1E,CAAC;AAEF,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACxF,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;IAC7E,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC,iBAAiB,EAAE,CAAE,MAAM,CAAE,CAAC,CAAC;IAC3F,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC,iBAAiB,EAAE,CAAE,MAAM,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,CAAE,CAAC,CAAC;IAC9H,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC,mBAAmB,EAAE,EAAE,CAAE,iBAAiB,CAAE,CAAC,CAAC;CAC3G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usg-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/usage/_collections/usg-module-settings.const.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"usg-module-settings.const.js","sourceRoot":"","sources":["../../../../src/_modules/usage/_collections/usg-module-settings.const.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,gDAA6B,CAAA;IAC7B,8CAA2B,CAAA;IAC3B,gDAA6B,CAAA;AAC/B,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAEY,QAAA,yBAAyB,GAAyC;IAC7E,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE;QACT,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,cAAc;QAC5C,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,2BAA2B;QAC3D,CAAC,eAAe,CAAC,WAAW,CAAC,EAAG,oBAAoB;QACpD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,aAAa;KAC9C;CACF,CAAC"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.10.
|
|
3
|
+
"version": "01.10.12",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prep": "npm i pnpm -g && npm i rimraf nodemon -g",
|
|
@@ -14,29 +14,47 @@ class SomethingElse {
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
export interface DyFM_EndpointTypesContainer<
|
|
17
|
+
export interface DyFM_EndpointTypesContainer<
|
|
18
|
+
T_Result,
|
|
19
|
+
T_Inputs extends Array<any> = [],
|
|
20
|
+
T_Body = undefined
|
|
21
|
+
> {
|
|
18
22
|
resultType: T_Result;
|
|
19
23
|
inputTypes: T_Inputs;
|
|
20
24
|
bodyType: T_Body;
|
|
21
25
|
}
|
|
22
|
-
export type
|
|
26
|
+
export type DyFM_ServiceEndpointTypesSettings = {
|
|
23
27
|
[key: string]: DyFM_EndpointTypesContainer<unknown, any, unknown>;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
export class DyFM_Endpoint_SettingsBase<T_Result, I_Inputs, T_Body> {
|
|
27
31
|
name?: string;
|
|
28
32
|
type?: DyFM_HttpCallType;
|
|
29
|
-
|
|
33
|
+
endpoint?: string;
|
|
30
34
|
|
|
31
35
|
pathParamKeys?: string[] = [];
|
|
32
36
|
|
|
33
37
|
constructor(
|
|
34
38
|
set: DyFM_Endpoint_SettingsBase<T_Result, I_Inputs, T_Body>
|
|
35
39
|
) {
|
|
40
|
+
if (set.endpoint.includes('{')) {
|
|
41
|
+
console.warn(
|
|
42
|
+
`using {param} brackets in endpoint definitions will be deprecated... ` +
|
|
43
|
+
`\nuse :param instead ({pathParam} --> :pathParam) (${set.name})`
|
|
44
|
+
);
|
|
45
|
+
set.endpoint = set.endpoint.replace(/{/g, ':').replace(/}/g, '');
|
|
46
|
+
}
|
|
47
|
+
|
|
36
48
|
Object.assign(this, set);
|
|
49
|
+
|
|
50
|
+
this.pathParamKeys = this.endpoint.split('/').filter(
|
|
51
|
+
(part: string): boolean => part.startsWith(':')
|
|
52
|
+
).map(
|
|
53
|
+
(part: string): string => part.replace(':', '')
|
|
54
|
+
);
|
|
37
55
|
}
|
|
38
56
|
}
|
|
39
|
-
export type DyFM_ServiceEndpoint_SettingsBase<T extends
|
|
57
|
+
export type DyFM_ServiceEndpoint_SettingsBase<T extends DyFM_ServiceEndpointTypesSettings> = {
|
|
40
58
|
[K in keyof T]: DyFM_Endpoint_SettingsBase<
|
|
41
59
|
T[K]['resultType'], T[K]['inputTypes'], T[K]['bodyType']
|
|
42
60
|
>;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
|
|
2
|
+
import {
|
|
3
|
+
DyFM_EndpointTypesContainer,
|
|
4
|
+
DyFM_ServiceEndpointTypesSettings
|
|
5
|
+
} from '../../../_models/control-models/service-endpoint-settings-base.control-model';
|
|
2
6
|
import { DyFM_Route_Settings } from '../../../_models/interfaces/route-settings.interface';
|
|
3
7
|
|
|
4
8
|
export enum DyFM_TestRoute {
|
|
@@ -29,3 +33,20 @@ export const DyFM_fullTestRoute = {
|
|
|
29
33
|
DyFM_testModule_settings.endPoints[DyFM_TestRoute.getServerStatus],
|
|
30
34
|
};
|
|
31
35
|
|
|
36
|
+
export interface DyFM_Test_EndpointTypeSettings extends DyFM_ServiceEndpointTypesSettings {
|
|
37
|
+
[DyFM_TestRoute.testGet]: DyFM_EndpointTypesContainer<DyFM_Test_Result>;
|
|
38
|
+
[DyFM_TestRoute.testPost]: DyFM_EndpointTypesContainer<DyFM_Test_Result, any, any>;
|
|
39
|
+
[DyFM_TestRoute.testDelete]: DyFM_EndpointTypesContainer<DyFM_Test_Result>;
|
|
40
|
+
[DyFM_TestRoute.getServerStatus]: DyFM_EndpointTypesContainer<{
|
|
41
|
+
status: 'ready',
|
|
42
|
+
version: string,
|
|
43
|
+
upTime: number,
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface DyFM_Test_Result {
|
|
48
|
+
url: string;
|
|
49
|
+
result: string;
|
|
50
|
+
request: any;
|
|
51
|
+
}
|
|
52
|
+
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
|
|
2
|
+
import { DyFM_RelativeDate } from '../../../_enums/time/relative-date.enum';
|
|
3
|
+
import {
|
|
4
|
+
DyFM_EndpointTypesContainer, DyFM_ServiceEndpointTypesSettings
|
|
5
|
+
} from '../../../_models/control-models/service-endpoint-settings-base.control-model';
|
|
2
6
|
import { DyFM_Route_Settings } from '../../../_models/interfaces/route-settings.interface';
|
|
7
|
+
import { DyFM_DailyUsageData } from '../_models/usg-daily-usage-data.control-model';
|
|
8
|
+
import { DyFM_UsageData } from '../_models/usg-data.control-model';
|
|
9
|
+
import { DyFM_UsageSession } from '../_models/usg-session.data-model';
|
|
3
10
|
|
|
4
11
|
export enum DyFM_UsageRoute {
|
|
5
12
|
newSession = 'newSession',
|
|
@@ -17,3 +24,10 @@ export const DyFM_usageModule_settings: DyFM_Route_Settings<DyFM_UsageRoute> = {
|
|
|
17
24
|
[DyFM_UsageRoute.getUsageData]: '/get/:range',
|
|
18
25
|
},
|
|
19
26
|
};
|
|
27
|
+
|
|
28
|
+
export interface DyFM_Usage_EndpointTypeSettings extends DyFM_ServiceEndpointTypesSettings {
|
|
29
|
+
[DyFM_UsageRoute.newSession]: DyFM_EndpointTypesContainer<DyFM_UsageSession>;
|
|
30
|
+
[DyFM_UsageRoute.closeSession]: DyFM_EndpointTypesContainer<DyFM_UsageSession, [ string ]>;
|
|
31
|
+
[DyFM_UsageRoute.updateUsage]: DyFM_EndpointTypesContainer<DyFM_UsageSession, [ string, DyFM_UsageData[], DyFM_UsageData[] ]>;
|
|
32
|
+
[DyFM_UsageRoute.getUsageData]: DyFM_EndpointTypesContainer<DyFM_DailyUsageData[], [ DyFM_RelativeDate ]>;
|
|
33
|
+
}
|
|
Binary file
|