@futdevpro/nts-dynamo 1.10.49 → 1.10.51

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 (60) hide show
  1. package/.github/workflows/main.yml +11 -0
  2. package/build/_collections/archive.util.d.ts +10 -0
  3. package/build/_collections/archive.util.d.ts.map +1 -1
  4. package/build/_collections/archive.util.js +10 -0
  5. package/build/_collections/archive.util.js.map +1 -1
  6. package/build/_collections/global-settings.const.d.ts +4 -0
  7. package/build/_collections/global-settings.const.d.ts.map +1 -1
  8. package/build/_collections/global-settings.const.js +4 -0
  9. package/build/_collections/global-settings.const.js.map +1 -1
  10. package/build/_enums/data-model-type.enum.d.ts +4 -4
  11. package/build/_enums/data-model-type.enum.js +4 -4
  12. package/build/_enums/data-service-function.enum.d.ts +8 -2
  13. package/build/_enums/data-service-function.enum.d.ts.map +1 -1
  14. package/build/_enums/data-service-function.enum.js +8 -2
  15. package/build/_enums/data-service-function.enum.js.map +1 -1
  16. package/build/_enums/predefined-data-types.enum.d.ts +4 -15
  17. package/build/_enums/predefined-data-types.enum.d.ts.map +1 -1
  18. package/build/_enums/predefined-data-types.enum.js +4 -15
  19. package/build/_enums/predefined-data-types.enum.js.map +1 -1
  20. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  21. package/build/_models/control-models/app-params.control-model.js +17 -19
  22. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  23. package/build/_models/control-models/app-params.control-model.spec.js +3 -3
  24. package/build/_models/control-models/app-params.control-model.spec.js.map +1 -1
  25. package/build/_modules/mock/app-extended-server.mock.d.ts.map +1 -1
  26. package/build/_modules/mock/app-extended-server.mock.js +3 -0
  27. package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
  28. package/build/_modules/mock/app-server.mock.d.ts.map +1 -1
  29. package/build/_modules/mock/app-server.mock.js +3 -0
  30. package/build/_modules/mock/app-server.mock.js.map +1 -1
  31. package/build/_modules/socket/app-extended.server.spec.js +24 -9
  32. package/build/_modules/socket/app-extended.server.spec.js.map +1 -1
  33. package/build/_services/server/app.server.d.ts.map +1 -1
  34. package/build/_services/server/app.server.js +24 -2
  35. package/build/_services/server/app.server.js.map +1 -1
  36. package/build/_services/server/app.server.spec.js +16 -7
  37. package/build/_services/server/app.server.spec.js.map +1 -1
  38. package/build/_services/shared.static-service.d.ts +13 -9
  39. package/build/_services/shared.static-service.d.ts.map +1 -1
  40. package/build/_services/shared.static-service.js +13 -9
  41. package/build/_services/shared.static-service.js.map +1 -1
  42. package/build/index.d.ts +46 -0
  43. package/build/index.d.ts.map +1 -1
  44. package/build/index.js +46 -1
  45. package/build/index.js.map +1 -1
  46. package/package.json +3 -3
  47. package/src/_collections/archive.util.ts +10 -1
  48. package/src/_collections/global-settings.const.ts +4 -0
  49. package/src/_enums/data-model-type.enum.ts +5 -5
  50. package/src/_enums/data-service-function.enum.ts +12 -3
  51. package/src/_enums/predefined-data-types.enum.ts +5 -16
  52. package/src/_models/control-models/app-params.control-model.spec.ts +3 -3
  53. package/src/_models/control-models/app-params.control-model.ts +12 -17
  54. package/src/_modules/mock/app-extended-server.mock.ts +3 -0
  55. package/src/_modules/mock/app-server.mock.ts +3 -0
  56. package/src/_modules/socket/app-extended.server.spec.ts +99 -15
  57. package/src/_services/server/app.server.spec.ts +66 -10
  58. package/src/_services/server/app.server.ts +31 -2
  59. package/src/_services/shared.static-service.ts +17 -13
  60. package/src/index.ts +62 -1
@@ -7,14 +7,15 @@ import { DyFM_Shared } 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
12
  export class DyNTS_Shared extends DyFM_Shared {
13
13
 
14
14
  /**
15
- *
16
- * @param request
17
- * @returns
15
+ * Extract the IP address from an Express request.
16
+ *
17
+ * @param request Incoming HTTP request
18
+ * @returns Resolved IP string
18
19
  */
19
20
  static getIpFromRequest(request: Request): string {
20
21
  let ip: string;
@@ -32,27 +33,30 @@ export class DyNTS_Shared extends DyFM_Shared {
32
33
  }
33
34
 
34
35
  /**
35
- *
36
- * @param request
37
- * @returns
36
+ * Lookup the Geo location of a request based on its IP address.
37
+ *
38
+ * @param request Incoming request
39
+ * @returns Resolved geo location information
38
40
  */
39
41
  static getLocationDataByRequest(request: Request): DyFM_GeoIpLocation {
40
42
  return GeoIp.lookup(this.getIpFromRequest(request));
41
43
  }
42
44
 
43
45
  /**
44
- *
45
- * @param request
46
- * @returns
46
+ * Lookup the Geo location of a raw IP address.
47
+ *
48
+ * @param ip IP address string
49
+ * @returns Geo location information
47
50
  */
48
51
  static getLocationByIp(ip: string): DyFM_GeoIpLocation {
49
52
  return GeoIp.lookup(ip);
50
53
  }
51
54
 
52
55
  /**
53
- *
54
- * @param question
55
- * @returns
56
+ * Simple CLI helper to prompt the user for input.
57
+ *
58
+ * @param question Text displayed to the user
59
+ * @returns Entered string value
56
60
  */
57
61
  static async prompt(question: string): Promise<string> {
58
62
  const readLine = ReadLine.createInterface({
package/src/index.ts CHANGED
@@ -1,24 +1,60 @@
1
1
 
2
2
  // COLLECTIONS
3
+ /**
4
+ * Utility helpers for dealing with archived collections.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const name = DyNTS_getArchivedDBName('users');
9
+ * // => 'users_archived'
10
+ * ```
11
+ */
3
12
  export * from './_collections/archive.util';
13
+
14
+ /**
15
+ * Common application wide settings used across the framework.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * console.log(DyNTS_global_settings.baseUrl);
20
+ * ```
21
+ */
4
22
  export * from './_collections/global-settings.const';
5
23
 
6
24
 
7
25
  // ENUMS
26
+ /**
27
+ * Enumerations describing model usage locations.
28
+ */
8
29
  export * from './_enums/data-model-type.enum';
30
+
31
+ /**
32
+ * Enumerations listing the supported service function names.
33
+ */
9
34
  export * from './_enums/data-service-function.enum';
35
+
36
+ /**
37
+ * Common primitive data types used in models.
38
+ */
10
39
  export * from './_enums/predefined-data-types.enum';
40
+
41
+ /**
42
+ * Defines if routes should use HTTP, HTTPS or both.
43
+ */
11
44
  export * from './_enums/route-security.enum';
12
45
 
13
46
 
14
47
  // MODELS (CONTROL-MODELS, INTERFACES, TYPES)
15
- // models/INTERFACES
48
+
49
+ /** Interfaces describing global configuration and certificates. */
16
50
  export * from './_models/interfaces/certification-settings.interface';
17
51
  export * from './_models/interfaces/global-service-settings.interface';
18
52
  export * from './_models/interfaces/global-settings.interface';
19
53
  export * from './_models/interfaces/routing-module-settings.interface';
20
54
 
21
55
  // models/CONTROL MODELS
56
+
57
+ /** Classes defining runtime structures without database persistence. */
22
58
  export * from './_models/control-models/api-call-params.control-model';
23
59
  export * from './_models/control-models/app-ext-system-controls.control-model'
24
60
  export * from './_models/control-models/app-params.control-model';
@@ -28,32 +64,57 @@ export * from './_models/control-models/http-settings.control-model';
28
64
  export * from './_models/control-models/system-control.control-model';
29
65
 
30
66
  // models/TYPES
67
+
68
+ /** Types describing MongoDB style update objects. */
31
69
  export * from './_models/types/db-update.type';
32
70
 
33
71
 
34
72
  // SERVICES
35
73
  // services/CORE
74
+ /** Client side helper for making HTTP requests. */
36
75
  export * from './_services/core/api.service';
76
+
77
+ /** Basic authentication helper functions. */
37
78
  export * from './_services/core/auth.service';
79
+
80
+ /** Utility for sending transactional emails. */
38
81
  export * from './_services/core/email.service';
82
+
83
+ /** Global service registry and bootstrapping utilities. */
39
84
  export * from './_services/core/global.service';
85
+
86
+ /** Singleton service container. */
40
87
  export * from './_services/core/service-collection.service';
41
88
 
42
89
  // services/BASE
90
+ /** Handles moving data to archive collections. */
43
91
  export * from './_services/base/archive-data.service';
92
+
93
+ /** Basic CRUD service used by feature modules. */
44
94
  export * from './_services/base/data.service';
95
+
96
+ /** Thin wrapper around the database driver. */
45
97
  export * from './_services/base/db.service';
98
+
99
+ /** Base class for implementing singleton services. */
46
100
  export * from './_services/base/singleton.service';
47
101
 
48
102
  // services/SERVER
103
+ /** Express server wrapper. */
49
104
  export * from './_services/server/app.server';
105
+
106
+ /** Environment detection helpers. */
50
107
  export * from './_services/server/env-set';
51
108
 
52
109
  // services/ROUTE
110
+ /** Abstract base controller for defining routes. */
53
111
  export * from './_services/route/controller.service';
112
+
113
+ /** Handles route registration and mounting. */
54
114
  export * from './_services/route/routing-module.service';
55
115
 
56
116
  // services/SHARED
117
+ /** Assorted shared helpers accessible statically. */
57
118
  export * from './_services/shared.static-service';
58
119
 
59
120