@futdevpro/fsm-dynamo 1.10.11 → 1.10.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +4 -4
  2. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
  3. package/build/_models/control-models/service-endpoint-settings-base.control-model.js +7 -1
  4. package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
  5. package/build/_models/types/db-/304/221filter.type.d.ts +12 -9
  6. package/build/_models/types/db-/304/221filter.type.d.ts.map +1 -1
  7. package/build/_models/types/db-/304/221filter.type.js.map +1 -1
  8. package/build/_models/types/db-/304/221sort.type.d.ts +9 -3
  9. package/build/_models/types/db-/304/221sort.type.d.ts.map +1 -1
  10. package/build/_modules/test/_collections/tst-module-settings.const.d.ts +17 -0
  11. package/build/_modules/test/_collections/tst-module-settings.const.d.ts.map +1 -1
  12. package/build/_modules/test/_collections/tst-module-settings.const.js.map +1 -1
  13. package/build/_modules/usage/_collections/usg-module-settings.const.d.ts +11 -0
  14. package/build/_modules/usage/_collections/usg-module-settings.const.d.ts.map +1 -1
  15. package/build/_modules/usage/_collections/usg-module-settings.const.js.map +1 -1
  16. package/futdevpro-fsm-dynamo-01.10.14.tgz +0 -0
  17. package/package.json +1 -1
  18. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +22 -4
  19. package/src/_models/types/db-/304/221filter.type.ts +19 -17
  20. package/src/_models/types/db-/304/221sort.type.ts +10 -2
  21. package/src/_modules/test/_collections/tst-module-settings.const.ts +21 -0
  22. package/src/_modules/usage/_collections/usg-module-settings.const.ts +14 -0
  23. 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>, T_Body> {
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 DyFM_ServiceEndpointTypesSetting = {
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
- endPoint?: string;
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 DyFM_ServiceEndpointTypesSetting> = {
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,CAAC,QAAQ,EAAC,QAAQ,SAAS,KAAK,CAAC,GAAG,CAAC,EAAC,MAAM;IACtF,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,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;CAI9D;AACD,MAAM,MAAM,iCAAiC,CAAC,CAAC,SAAS,gCAAgC,IAAI;KACzF,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"}
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
- endPoint;
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":";;;AAyBA,MAAa,0BAA0B;IACrC,IAAI,CAAU;IACd,IAAI,CAAqB;IACzB,QAAQ,CAAU;IAElB,aAAa,GAAc,EAAE,CAAC;IAE9B,YACE,GAA2D;QAE3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF;AAZD,gEAYC;AAOD;;;;;;;;;;;;;;;;;;;;;;IAsBI;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0CI"}
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"}
@@ -6,7 +6,7 @@ import { DyFM_RangeValue } from '../control-models/range-value.control-model';
6
6
  * it should be the value, a range or an array of the searching values
7
7
  */
8
8
  export type DyFM_DBĐFilter<T_RootProperty> = {
9
- [K in keyof T_RootProperty]?: T_RootProperty[K] | T_RootProperty[K][] | DyFM_RangeValue<T_RootProperty[K]> | DyFM_SpecialSearch<T_RootProperty> | DyFM_SpecialNestSearch<any>;
9
+ [K in keyof T_RootProperty]?: T_RootProperty[K] | T_RootProperty[K][] | DyFM_RangeValue<T_RootProperty[K]> | DyFM_SpecialSearch<T_RootProperty[K]> | DyFM_SpecialNestSearch<any>;
10
10
  };
11
11
  export interface DyFM_SpecialSearch<T> {
12
12
  isSpecialSearch: true;
@@ -14,17 +14,20 @@ export interface DyFM_SpecialSearch<T> {
14
14
  type: DyFM_SpecialSearch_Type;
15
15
  }
16
16
  /**
17
- * searches for a nested property in the object
18
- * can search for nested properties in arrays as well with the following syntax used in key:
19
- * nestKeys: [ 'arrayProperty', '*', 'nestedPropertySearch' ]
17
+ * searches for a nested properties in the object
20
18
  */
21
19
  export interface DyFM_SpecialNestSearch<T_NestedProperty> {
22
20
  isSpecialNestSearch: true;
23
- nestedPropertySearches: {
24
- nestKeys: string[];
25
- propertyType: DyFM_BasicProperty_Type;
26
- search: T_NestedProperty | T_NestedProperty[] | DyFM_RangeValue<T_NestedProperty> | DyFM_SpecialSearch<T_NestedProperty>;
27
- }[];
21
+ nestedPropertySearches: DyFM_NestPropertySearch<any>[];
22
+ }
23
+ /**
24
+ * can search for nested properties in arrays as well with the following syntax used in key:
25
+ * nestKeys: [ 'arrayProperty', '*', 'nestedPropertySearch' ]
26
+ */
27
+ export interface DyFM_NestPropertySearch<T_NestedProperty> {
28
+ nestKeys: string[];
29
+ propertyType: DyFM_BasicProperty_Type;
30
+ search: T_NestedProperty | T_NestedProperty[] | DyFM_RangeValue<T_NestedProperty> | DyFM_SpecialSearch<T_NestedProperty>;
28
31
  }
29
32
  export declare enum DyFM_SpecialSearch_Type {
30
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"db-đfilter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-đfilter.type.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,cAAc,IAAI;KAC1C,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAC1B,cAAc,CAAC,CAAC,CAAC,GACjB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAClC,kBAAkB,CAAC,cAAc,CAAC,GAClC,sBAAsB,CAAC,GAAG,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,eAAe,EAAE,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB;IACtD,mBAAmB,EAAE,IAAI,CAAC;IAC1B,sBAAsB,EAAE;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,EAAE,uBAAuB,CAAC;QACtC,MAAM,EAAE,gBAAgB,GACtB,gBAAgB,EAAE,GAClB,eAAe,CAAC,gBAAgB,CAAC,GACjC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;KACxC,EAAE,CAAC;CACL;AAED,oBAAY,uBAAuB;IACjC;;SAEK;IACL,mBAAmB,wBAAwB;IAC3C;;SAEK;IACL,gBAAgB,qBAAqB;IACrC;;SAEK;IACL,uBAAuB,4BAA4B;CAOpD"}
1
+ {"version":3,"file":"db-đfilter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-đfilter.type.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,cAAc,IAAI;KAC1C,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAClC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GACrC,sBAAsB,CAAC,GAAG,CAAC;CAC1D,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,eAAe,EAAE,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB;IACtD,mBAAmB,EAAE,IAAI,CAAC;IAC1B,sBAAsB,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;CACxD;AACD;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,gBAAgB;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,uBAAuB,CAAC;IACtC,MAAM,EAAE,gBAAgB,GAChB,gBAAgB,EAAE,GAClB,eAAe,CAAC,gBAAgB,CAAC,GACjC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;CAC9C;AAED,oBAAY,uBAAuB;IACjC;;SAEK;IACL,mBAAmB,wBAAwB;IAC3C;;SAEK;IACL,gBAAgB,qBAAqB;IACrC;;SAEK;IACL,uBAAuB,4BAA4B;CAOpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"db-đfilter.type.js","sourceRoot":"","sources":["../../../src/_models/types/db-đfilter.type.ts"],"names":[],"mappings":";;;AA0CA,IAAY,uBAmBX;AAnBD,WAAY,uBAAuB;IACjC;;SAEK;IACL,sEAA2C,CAAA;IAC3C;;SAEK;IACL,gEAAqC,CAAA;IACrC;;SAEK;IACL,8EAAmD,CAAA;IACnD;;;;OAIG;IACH,oDAAoD;AACtD,CAAC,EAnBW,uBAAuB,uCAAvB,uBAAuB,QAmBlC"}
1
+ {"version":3,"file":"db-đfilter.type.js","sourceRoot":"","sources":["../../../src/_models/types/db-đfilter.type.ts"],"names":[],"mappings":";;;AA4CA,IAAY,uBAmBX;AAnBD,WAAY,uBAAuB;IACjC;;SAEK;IACL,sEAA2C,CAAA;IAC3C;;SAEK;IACL,gEAAqC,CAAA;IACrC;;SAEK;IACL,8EAAmD,CAAA;IACnD;;;;OAIG;IACH,oDAAoD;AACtD,CAAC,EAnBW,uBAAuB,uCAAvB,uBAAuB,QAmBlC"}
@@ -1,9 +1,15 @@
1
- export type DyFM_DBĐSort = {
1
+ export type DyFM_DBĐSort = DyFM_DBĐPropertySort | DyFM_DBĐNestedPropertySort;
2
+ export interface DyFM_DBĐPropertySort {
3
+ key: string;
4
+ order: 1 | -1 | 'asc' | 'desc' | 'ascending' | 'descending';
5
+ }
6
+ export interface DyFM_DBĐNestedPropertySort {
7
+ isNestedPropertySort: true;
2
8
  /**
3
9
  * the key to sort by
4
10
  * (can be an array that is used for sorting by nested properties)
5
11
  */
6
- key: string | string[];
12
+ nestKeys: string[];
7
13
  order: 1 | -1 | 'asc' | 'desc' | 'ascending' | 'descending';
8
- };
14
+ }
9
15
  //# sourceMappingURL=db-%C4%91sort.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-đsort.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-đsort.type.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;CAC7D,CAAA"}
1
+ {"version":3,"file":"db-đsort.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-đsort.type.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,0BAA0B,CAAC;AAC7E,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;CAC7D;AAED,MAAM,WAAW,0BAA0B;IACzC,oBAAoB,EAAE,IAAI,CAAC;IAC3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;CAC7D"}
@@ -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":";;;AAGA,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
+ {"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;AAE3F,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"}
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":";;;AAGA,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.10.11",
3
+ "version": "01.10.14",
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<T_Result,T_Inputs extends Array<any>,T_Body> {
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 DyFM_ServiceEndpointTypesSetting = {
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
- endPoint?: string;
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 DyFM_ServiceEndpointTypesSetting> = {
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
  >;
@@ -9,12 +9,11 @@ import { DyFM_RangeValue } from '../control-models/range-value.control-model';
9
9
  * it should be the value, a range or an array of the searching values
10
10
  */
11
11
  export type DyFM_DBĐFilter<T_RootProperty> = {
12
- [K in keyof T_RootProperty]?:
13
- T_RootProperty[K] |
14
- T_RootProperty[K][] |
15
- DyFM_RangeValue<T_RootProperty[K]> |
16
- DyFM_SpecialSearch<T_RootProperty> |
17
- DyFM_SpecialNestSearch<any>;
12
+ [K in keyof T_RootProperty]?: T_RootProperty[K] |
13
+ T_RootProperty[K][] |
14
+ DyFM_RangeValue<T_RootProperty[K]> |
15
+ DyFM_SpecialSearch<T_RootProperty[K]> |
16
+ DyFM_SpecialNestSearch<any>;
18
17
  };
19
18
 
20
19
  export interface DyFM_SpecialSearch<T> {
@@ -24,20 +23,23 @@ export interface DyFM_SpecialSearch<T> {
24
23
  }
25
24
 
26
25
  /**
27
- * searches for a nested property in the object
28
- * can search for nested properties in arrays as well with the following syntax used in key:
29
- * nestKeys: [ 'arrayProperty', '*', 'nestedPropertySearch' ]
26
+ * searches for a nested properties in the object
30
27
  */
31
28
  export interface DyFM_SpecialNestSearch<T_NestedProperty> {
32
29
  isSpecialNestSearch: true;
33
- nestedPropertySearches: {
34
- nestKeys: string[];
35
- propertyType: DyFM_BasicProperty_Type;
36
- search: T_NestedProperty |
37
- T_NestedProperty[] |
38
- DyFM_RangeValue<T_NestedProperty> |
39
- DyFM_SpecialSearch<T_NestedProperty>;
40
- }[];
30
+ nestedPropertySearches: DyFM_NestPropertySearch<any>[];
31
+ }
32
+ /**
33
+ * can search for nested properties in arrays as well with the following syntax used in key:
34
+ * nestKeys: [ 'arrayProperty', '*', 'nestedPropertySearch' ]
35
+ */
36
+ export interface DyFM_NestPropertySearch<T_NestedProperty> {
37
+ nestKeys: string[];
38
+ propertyType: DyFM_BasicProperty_Type;
39
+ search: T_NestedProperty |
40
+ T_NestedProperty[] |
41
+ DyFM_RangeValue<T_NestedProperty> |
42
+ DyFM_SpecialSearch<T_NestedProperty>;
41
43
  }
42
44
 
43
45
  export enum DyFM_SpecialSearch_Type {
@@ -1,11 +1,19 @@
1
1
 
2
2
 
3
- export type DyFM_DBĐSort = {
3
+
4
+ export type DyFM_DBĐSort = DyFM_DBĐPropertySort | DyFM_DBĐNestedPropertySort;
5
+ export interface DyFM_DBĐPropertySort {
6
+ key: string;
7
+ order: 1 | -1 | 'asc' | 'desc' | 'ascending' | 'descending';
8
+ }
9
+
10
+ export interface DyFM_DBĐNestedPropertySort {
11
+ isNestedPropertySort: true;
4
12
  /**
5
13
  * the key to sort by
6
14
  * (can be an array that is used for sorting by nested properties)
7
15
  */
8
- key: string | string[];
16
+ nestKeys: string[];
9
17
  order: 1 | -1 | 'asc' | 'desc' | 'ascending' | 'descending';
10
18
  }
11
19
 
@@ -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