@futdevpro/nts-dynamo 1.2.90

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 (179) hide show
  1. package/BuildPackage.bat +1 -0
  2. package/LICENSE +21 -0
  3. package/README.md +17 -0
  4. package/lib/_constants/dynamobe-global.settings.d.ts +2 -0
  5. package/lib/_constants/dynamobe-global.settings.d.ts.map +1 -0
  6. package/lib/_constants/dynamobe-global.settings.js +11 -0
  7. package/lib/_enum/data-model-types.enum.d.ts +5 -0
  8. package/lib/_enum/data-model-types.enum.d.ts.map +1 -0
  9. package/lib/_enum/data-model-types.enum.js +9 -0
  10. package/lib/_enum/dynamobe-data-service-function.enum.d.ts +7 -0
  11. package/lib/_enum/dynamobe-data-service-function.enum.d.ts.map +1 -0
  12. package/lib/_enum/dynamobe-data-service-function.enum.js +14 -0
  13. package/lib/_enum/dynamobe-route-security.enum.d.ts +5 -0
  14. package/lib/_enum/dynamobe-route-security.enum.d.ts.map +1 -0
  15. package/lib/_enum/dynamobe-route-security.enum.js +9 -0
  16. package/lib/_enum/http/http-call-type.enum.d.ts +7 -0
  17. package/lib/_enum/http/http-call-type.enum.d.ts.map +1 -0
  18. package/lib/_enum/http/http-call-type.enum.js +11 -0
  19. package/lib/_enum/http/http-response-type.enum.d.ts +6 -0
  20. package/lib/_enum/http/http-response-type.enum.d.ts.map +1 -0
  21. package/lib/_enum/http/http-response-type.enum.js +10 -0
  22. package/lib/_enum/log-style.enum.d.ts +25 -0
  23. package/lib/_enum/log-style.enum.d.ts.map +1 -0
  24. package/lib/_enum/log-style.enum.js +29 -0
  25. package/lib/_enum/predefined-data-types.enum.d.ts +7 -0
  26. package/lib/_enum/predefined-data-types.enum.d.ts.map +1 -0
  27. package/lib/_enum/predefined-data-types.enum.js +11 -0
  28. package/lib/_models/dynamobe-api-call-params.d.ts +34 -0
  29. package/lib/_models/dynamobe-api-call-params.d.ts.map +1 -0
  30. package/lib/_models/dynamobe-api-call-params.js +24 -0
  31. package/lib/_models/dynamobe-app-params.d.ts +14 -0
  32. package/lib/_models/dynamobe-app-params.d.ts.map +1 -0
  33. package/lib/_models/dynamobe-app-params.js +13 -0
  34. package/lib/_models/dynamobe-data-model-params.d.ts +12 -0
  35. package/lib/_models/dynamobe-data-model-params.d.ts.map +1 -0
  36. package/lib/_models/dynamobe-data-model-params.js +14 -0
  37. package/lib/_models/dynamobe-endpoint-control.d.ts +28 -0
  38. package/lib/_models/dynamobe-endpoint-control.d.ts.map +1 -0
  39. package/lib/_models/dynamobe-endpoint-control.js +85 -0
  40. package/lib/_models/dynamobe-global-settings.d.ts +8 -0
  41. package/lib/_models/dynamobe-global-settings.d.ts.map +1 -0
  42. package/lib/_models/dynamobe-global-settings.js +6 -0
  43. package/lib/_models/fullstack-models/control-models/daily-usage-data.d.ts +17 -0
  44. package/lib/_models/fullstack-models/control-models/daily-usage-data.d.ts.map +1 -0
  45. package/lib/_models/fullstack-models/control-models/daily-usage-data.js +21 -0
  46. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.d.ts +27 -0
  47. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.d.ts.map +1 -0
  48. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.js +66 -0
  49. package/lib/_models/fullstack-models/control-models/dynamobe-error.d.ts +17 -0
  50. package/lib/_models/fullstack-models/control-models/dynamobe-error.d.ts.map +1 -0
  51. package/lib/_models/fullstack-models/control-models/dynamobe-error.js +195 -0
  52. package/lib/_models/fullstack-models/control-models/geo-ip-location.d.ts +25 -0
  53. package/lib/_models/fullstack-models/control-models/geo-ip-location.d.ts.map +1 -0
  54. package/lib/_models/fullstack-models/control-models/geo-ip-location.js +2 -0
  55. package/lib/_models/fullstack-models/control-models/usage-action.d.ts +8 -0
  56. package/lib/_models/fullstack-models/control-models/usage-action.d.ts.map +1 -0
  57. package/lib/_models/fullstack-models/control-models/usage-action.js +12 -0
  58. package/lib/_models/fullstack-models/control-models/usage-data.d.ts +13 -0
  59. package/lib/_models/fullstack-models/control-models/usage-data.d.ts.map +1 -0
  60. package/lib/_models/fullstack-models/control-models/usage-data.js +15 -0
  61. package/lib/_models/fullstack-models/data-models/custom-data.d.ts +15 -0
  62. package/lib/_models/fullstack-models/data-models/custom-data.d.ts.map +1 -0
  63. package/lib/_models/fullstack-models/data-models/custom-data.js +23 -0
  64. package/lib/_models/fullstack-models/data-models/metadata.d.ts +16 -0
  65. package/lib/_models/fullstack-models/data-models/metadata.d.ts.map +1 -0
  66. package/lib/_models/fullstack-models/data-models/metadata.js +16 -0
  67. package/lib/_models/fullstack-models/data-models/usage-session.d.ts +33 -0
  68. package/lib/_models/fullstack-models/data-models/usage-session.d.ts.map +1 -0
  69. package/lib/_models/fullstack-models/data-models/usage-session.js +48 -0
  70. package/lib/_modules/test-route/custom-data.service.d.ts +5 -0
  71. package/lib/_modules/test-route/custom-data.service.d.ts.map +1 -0
  72. package/lib/_modules/test-route/custom-data.service.js +12 -0
  73. package/lib/_modules/test-route/test-controller.d.ts +5 -0
  74. package/lib/_modules/test-route/test-controller.d.ts.map +1 -0
  75. package/lib/_modules/test-route/test-controller.js +125 -0
  76. package/lib/_modules/usage-route/usage-controller.d.ts +6 -0
  77. package/lib/_modules/usage-route/usage-controller.d.ts.map +1 -0
  78. package/lib/_modules/usage-route/usage-controller.js +88 -0
  79. package/lib/_modules/usage-route/usage.service.d.ts +18 -0
  80. package/lib/_modules/usage-route/usage.service.d.ts.map +1 -0
  81. package/lib/_modules/usage-route/usage.service.js +110 -0
  82. package/lib/_services/dynamobe-api.service.d.ts +9 -0
  83. package/lib/_services/dynamobe-api.service.d.ts.map +1 -0
  84. package/lib/_services/dynamobe-api.service.js +130 -0
  85. package/lib/_services/dynamobe-app.d.ts +11 -0
  86. package/lib/_services/dynamobe-app.d.ts.map +1 -0
  87. package/lib/_services/dynamobe-app.js +38 -0
  88. package/lib/_services/dynamobe-auth.service.d.ts +25 -0
  89. package/lib/_services/dynamobe-auth.service.d.ts.map +1 -0
  90. package/lib/_services/dynamobe-auth.service.js +24 -0
  91. package/lib/_services/dynamobe-controller.service.d.ts +10 -0
  92. package/lib/_services/dynamobe-controller.service.d.ts.map +1 -0
  93. package/lib/_services/dynamobe-controller.service.js +11 -0
  94. package/lib/_services/dynamobe-data.service.d.ts +51 -0
  95. package/lib/_services/dynamobe-data.service.d.ts.map +1 -0
  96. package/lib/_services/dynamobe-data.service.js +224 -0
  97. package/lib/_services/dynamobe-db-service-collection.service.d.ts +5 -0
  98. package/lib/_services/dynamobe-db-service-collection.service.d.ts.map +1 -0
  99. package/lib/_services/dynamobe-db-service-collection.service.js +7 -0
  100. package/lib/_services/dynamobe-db.service.d.ts +150 -0
  101. package/lib/_services/dynamobe-db.service.d.ts.map +1 -0
  102. package/lib/_services/dynamobe-db.service.js +577 -0
  103. package/lib/_services/dynamobe-email-service-collection.service.d.ts +5 -0
  104. package/lib/_services/dynamobe-email-service-collection.service.d.ts.map +1 -0
  105. package/lib/_services/dynamobe-email-service-collection.service.js +7 -0
  106. package/lib/_services/dynamobe-email.service.d.ts +32 -0
  107. package/lib/_services/dynamobe-email.service.d.ts.map +1 -0
  108. package/lib/_services/dynamobe-email.service.js +144 -0
  109. package/lib/_services/dynamobe-global.service.d.ts +22 -0
  110. package/lib/_services/dynamobe-global.service.d.ts.map +1 -0
  111. package/lib/_services/dynamobe-global.service.js +84 -0
  112. package/lib/_services/dynamobe-routing-module.service.d.ts +25 -0
  113. package/lib/_services/dynamobe-routing-module.service.d.ts.map +1 -0
  114. package/lib/_services/dynamobe-routing-module.service.js +112 -0
  115. package/lib/_services/dynamobe-server.d.ts +31 -0
  116. package/lib/_services/dynamobe-server.d.ts.map +1 -0
  117. package/lib/_services/dynamobe-server.js +179 -0
  118. package/lib/_services/dynamobe-shared.service.d.ts +100 -0
  119. package/lib/_services/dynamobe-shared.service.d.ts.map +1 -0
  120. package/lib/_services/dynamobe-shared.service.js +294 -0
  121. package/lib/_services/dynamobe-singleton.service.d.ts +5 -0
  122. package/lib/_services/dynamobe-singleton.service.d.ts.map +1 -0
  123. package/lib/_services/dynamobe-singleton.service.js +15 -0
  124. package/lib/index-newo.d.ts +0 -0
  125. package/lib/index-newo.d.ts.map +1 -0
  126. package/lib/index-newo.js +71 -0
  127. package/lib/index-old.d.ts +39 -0
  128. package/lib/index-old.js +49 -0
  129. package/lib/index.d.ts +39 -0
  130. package/lib/index.d.ts.map +1 -0
  131. package/lib/index.js +49 -0
  132. package/lib/tsconfig.tsbuildinfo +2080 -0
  133. package/nodemon.json +6 -0
  134. package/package.json +52 -0
  135. package/src/_constants/dynamobe-global.settings.ts +11 -0
  136. package/src/_enum/data-model-types.enum.ts +6 -0
  137. package/src/_enum/dynamobe-data-service-function.enum.ts +11 -0
  138. package/src/_enum/dynamobe-route-security.enum.ts +6 -0
  139. package/src/_enum/http/http-call-type.enum.ts +8 -0
  140. package/src/_enum/http/http-response-type.enum.ts +7 -0
  141. package/src/_enum/log-style.enum.ts +30 -0
  142. package/src/_enum/predefined-data-types.enum.ts +8 -0
  143. package/src/_models/dynamobe-api-call-params.ts +62 -0
  144. package/src/_models/dynamobe-app-params.ts +24 -0
  145. package/src/_models/dynamobe-data-model-params.ts +23 -0
  146. package/src/_models/dynamobe-endpoint-control.ts +127 -0
  147. package/src/_models/dynamobe-global-settings.ts +9 -0
  148. package/src/_models/fullstack-models/control-models/daily-usage-data.ts +34 -0
  149. package/src/_models/fullstack-models/control-models/dynamobe-data-property-params.ts +98 -0
  150. package/src/_models/fullstack-models/control-models/dynamobe-error.ts +207 -0
  151. package/src/_models/fullstack-models/control-models/geo-ip-location.ts +26 -0
  152. package/src/_models/fullstack-models/control-models/usage-action.ts +18 -0
  153. package/src/_models/fullstack-models/control-models/usage-data.ts +26 -0
  154. package/src/_models/fullstack-models/data-models/custom-data.ts +37 -0
  155. package/src/_models/fullstack-models/data-models/metadata.ts +28 -0
  156. package/src/_models/fullstack-models/data-models/usage-session.ts +82 -0
  157. package/src/_modules/test-route/custom-data.service.ts +21 -0
  158. package/src/_modules/test-route/test-controller.ts +136 -0
  159. package/src/_modules/usage-route/usage-controller.ts +114 -0
  160. package/src/_modules/usage-route/usage.service.ts +125 -0
  161. package/src/_services/dynamobe-api.service.ts +135 -0
  162. package/src/_services/dynamobe-app.ts +49 -0
  163. package/src/_services/dynamobe-auth.service.ts +42 -0
  164. package/src/_services/dynamobe-controller.service.ts +20 -0
  165. package/src/_services/dynamobe-data.service.ts +215 -0
  166. package/src/_services/dynamobe-db-service-collection.service.ts +9 -0
  167. package/src/_services/dynamobe-db.service.ts +556 -0
  168. package/src/_services/dynamobe-email-service-collection.service.ts +9 -0
  169. package/src/_services/dynamobe-email.service.ts +169 -0
  170. package/src/_services/dynamobe-global.service.ts +99 -0
  171. package/src/_services/dynamobe-routing-module.service.ts +141 -0
  172. package/src/_services/dynamobe-server.ts +225 -0
  173. package/src/_services/dynamobe-shared.service.ts +320 -0
  174. package/src/_services/dynamobe-singleton.service.ts +16 -0
  175. package/src/index-newo.ts +71 -0
  176. package/src/index.ts +50 -0
  177. package/src/version.json +2 -0
  178. package/tsconfig.app.json +12 -0
  179. package/tsconfig.json +72 -0
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const http_call_type_enum_1 = require("../../_enum/http/http-call-type.enum");
6
+ const dynamobe_endpoint_control_1 = require("../../_models/dynamobe-endpoint-control");
7
+ const dynamobe_controller_service_1 = require("../../_services/dynamobe-controller.service");
8
+ const custom_data_service_1 = require("./custom-data.service");
9
+ class TestController extends dynamobe_controller_service_1.DynamoBEController {
10
+ static getInstance() {
11
+ return TestController.getSingletonInstance();
12
+ }
13
+ setupEndpoints() {
14
+ this.endpoints = [
15
+ // TESTS
16
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
17
+ name: 'testGet',
18
+ type: http_call_type_enum_1.HttpCallType.get,
19
+ endpoint: '/test-get',
20
+ tasks: [
21
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ res.send({
23
+ url: req.url,
24
+ result: 'test-get call was successful!',
25
+ request: req.body
26
+ });
27
+ })
28
+ ]
29
+ }),
30
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
31
+ name: 'testPost',
32
+ type: http_call_type_enum_1.HttpCallType.post,
33
+ endpoint: '/test-post',
34
+ tasks: [
35
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ res.send({
37
+ url: req.url,
38
+ result: 'test-post call was successful!',
39
+ request: req.body
40
+ });
41
+ })
42
+ ]
43
+ }),
44
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
45
+ name: 'testPut',
46
+ type: http_call_type_enum_1.HttpCallType.put,
47
+ endpoint: '/test-put',
48
+ tasks: [
49
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
50
+ res.send({
51
+ url: req.url,
52
+ result: 'test-put call was successful!',
53
+ request: req.body
54
+ });
55
+ })
56
+ ]
57
+ }),
58
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
59
+ name: 'testPatch',
60
+ type: http_call_type_enum_1.HttpCallType.patch,
61
+ endpoint: '/test-patch',
62
+ tasks: [
63
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
64
+ res.send({
65
+ url: req.url,
66
+ result: 'test-patch call was successful!',
67
+ request: req.body
68
+ });
69
+ })
70
+ ]
71
+ }),
72
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
73
+ name: 'testDelete',
74
+ type: http_call_type_enum_1.HttpCallType.delete,
75
+ endpoint: '/test-delete',
76
+ tasks: [
77
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
78
+ res.send({
79
+ url: req.url,
80
+ result: 'test-delete call was successful!',
81
+ request: req.body
82
+ });
83
+ })
84
+ ]
85
+ }),
86
+ // CUSTOM DATA
87
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
88
+ name: 'getCustomData',
89
+ type: http_call_type_enum_1.HttpCallType.get,
90
+ endpoint: '/custom/get/:customId',
91
+ tasks: [
92
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
93
+ const customDataService = new custom_data_service_1.CustomDataService({ _id: req.params.customId });
94
+ yield customDataService.getDataById();
95
+ res.send({
96
+ url: req.url,
97
+ result: 'get custom call was successful!',
98
+ response: customDataService.data,
99
+ request: `.../custom/get/${req.params.customId}`
100
+ });
101
+ })
102
+ ]
103
+ }),
104
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
105
+ name: 'modifyCustomData',
106
+ type: http_call_type_enum_1.HttpCallType.post,
107
+ endpoint: '/custom/post',
108
+ tasks: [
109
+ (req, res, issuer) => tslib_1.__awaiter(this, void 0, void 0, function* () {
110
+ const customDataService = new custom_data_service_1.CustomDataService(req.body, issuer);
111
+ yield customDataService.saveData();
112
+ res.send({
113
+ url: req.url,
114
+ result: 'post custom call was successful!',
115
+ response: customDataService.data,
116
+ warning: 'keep in mind that this is a playground DB, and it will be cleared out from time to time',
117
+ request: req.body
118
+ });
119
+ })
120
+ ]
121
+ }),
122
+ ];
123
+ }
124
+ }
125
+ exports.TestController = TestController;
@@ -0,0 +1,6 @@
1
+ import { DynamoBEController } from '../../_services/dynamobe-controller.service';
2
+ export declare class UsageController extends DynamoBEController {
3
+ static getInstance(): UsageController;
4
+ private authService;
5
+ setupEndpoints(): void;
6
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-controller.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage-route/usage-controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAIjF,qBAAa,eAAgB,SAAQ,kBAAkB;IAEnD,MAAM,CAAC,WAAW,IAAI,eAAe;IAKrC,OAAO,CAAC,WAAW,CAAsB;IAEzC,cAAc,IAAI,IAAI;CA6FzB"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsageController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const http_call_type_enum_1 = require("../../_enum/http/http-call-type.enum");
6
+ const dynamobe_endpoint_control_1 = require("../../_models/dynamobe-endpoint-control");
7
+ const usage_session_1 = require("../../_models/fullstack-models/data-models/usage-session");
8
+ const dynamobe_controller_service_1 = require("../../_services/dynamobe-controller.service");
9
+ const dynamobe_global_service_1 = require("../../_services/dynamobe-global.service");
10
+ const usage_service_1 = require("./usage.service");
11
+ class UsageController extends dynamobe_controller_service_1.DynamoBEController {
12
+ static getInstance() {
13
+ return UsageController.getSingletonInstance();
14
+ }
15
+ setupEndpoints() {
16
+ this.authService = dynamobe_global_service_1.DBE_Global_S.getAuthService();
17
+ this.endpoints = [
18
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
19
+ name: 'newSession',
20
+ type: http_call_type_enum_1.HttpCallType.get,
21
+ endpoint: '/new-session',
22
+ tasks: [
23
+ (req, res, issuer) => tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ const authService = dynamobe_global_service_1.DBE_Global_S.getAuthService();
25
+ const username = authService.getUsernameFromRequest(req);
26
+ const usageService = new usage_service_1.UsageService({
27
+ usageSession: new usage_session_1.DynamoUsageSession({
28
+ sessionStart: new Date(),
29
+ issuer: username,
30
+ }),
31
+ issuer
32
+ });
33
+ yield usageService.getLocationDataFromRequest(req);
34
+ yield usageService.saveData();
35
+ res.send(usageService.data);
36
+ })
37
+ ]
38
+ }),
39
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
40
+ name: 'updateUsageData',
41
+ type: http_call_type_enum_1.HttpCallType.post,
42
+ endpoint: '/update/:sessionId',
43
+ logRequestsContent: false,
44
+ tasks: [
45
+ (req, res, issuer) => tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ const usageService = new usage_service_1.UsageService({
47
+ usageSession: { _id: req.params.sessionId },
48
+ usageData: req.body,
49
+ issuer
50
+ });
51
+ yield usageService.updateUsageData(req);
52
+ res.send(usageService.data);
53
+ })
54
+ ]
55
+ }),
56
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
57
+ name: 'closeSession',
58
+ type: http_call_type_enum_1.HttpCallType.get,
59
+ endpoint: '/close-session/:sessionId',
60
+ preProcessess: [this.authService.authTokenPermAccUsageData],
61
+ tasks: [
62
+ (req, res, issuer) => tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const usageService = new usage_service_1.UsageService({
64
+ usageSession: { _id: req.params.sessionId },
65
+ issuer
66
+ });
67
+ yield usageService.closeSession(req);
68
+ res.send(usageService.data);
69
+ })
70
+ ]
71
+ }),
72
+ new dynamobe_endpoint_control_1.DynamoBEEndpointParams({
73
+ name: 'getAllUsageData',
74
+ type: http_call_type_enum_1.HttpCallType.get,
75
+ endpoint: '/get/all',
76
+ preProcessess: [this.authService.authTokenPermAccUsageData],
77
+ tasks: [
78
+ (req, res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
79
+ const usageService = new usage_service_1.UsageService();
80
+ yield usageService.getLastWeekUsage();
81
+ res.send(usageService.simplifiedDailyUsage);
82
+ })
83
+ ]
84
+ }),
85
+ ];
86
+ }
87
+ }
88
+ exports.UsageController = UsageController;
@@ -0,0 +1,18 @@
1
+ import { DynamoBEDataService } from '../../_services/dynamobe-data.service';
2
+ import { Request } from 'express';
3
+ import { DynamoUsageData } from '../../_models/fullstack-models/control-models/usage-data';
4
+ import { DailyUsageData } from '../../_models/fullstack-models/control-models/daily-usage-data';
5
+ import { DynamoUsageSession } from '../../_models/fullstack-models/data-models/usage-session';
6
+ export declare class UsageService extends DynamoBEDataService<DynamoUsageSession> {
7
+ usageData: DynamoUsageData[];
8
+ simplifiedDailyUsage: DailyUsageData[];
9
+ constructor(set?: {
10
+ usageSession?: DynamoUsageSession;
11
+ usageData?: DynamoUsageData[];
12
+ issuer?: string;
13
+ });
14
+ getLocationDataFromRequest(req: Request): void;
15
+ getLastWeekUsage(): Promise<void>;
16
+ updateUsageData(req: Request): Promise<void>;
17
+ closeSession(req: Request): Promise<void>;
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage-route/usage.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,gEAAgE,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAA2B,MAAM,0DAA0D,CAAC;AAGvH,qBAAa,YAAa,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;IACvE,SAAS,EAAE,eAAe,EAAE,CAAM;IAClC,oBAAoB,EAAE,cAAc,EAAE,CAAM;gBAG1C,GAAG,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,kBAAkB,CAAC;QAClC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAYH,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAWxC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDjC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBhD"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsageService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const dynamobe_data_service_1 = require("../../_services/dynamobe-data.service");
6
+ const dynamobe_error_1 = require("../../_models/fullstack-models/control-models/dynamobe-error");
7
+ const dynamobe_shared_service_1 = require("../../_services/dynamobe-shared.service");
8
+ const daily_usage_data_1 = require("../../_models/fullstack-models/control-models/daily-usage-data");
9
+ const usage_session_1 = require("../../_models/fullstack-models/data-models/usage-session");
10
+ const dynamobe_global_service_1 = require("../../_services/dynamobe-global.service");
11
+ class UsageService extends dynamobe_data_service_1.DynamoBEDataService {
12
+ constructor(set) {
13
+ super(dynamobe_global_service_1.DBE_Global_S.getDBServiceCollection().usageDataDBService, new usage_session_1.DynamoUsageSession(set === null || set === void 0 ? void 0 : set.usageSession), usage_session_1.usageSessionModelParams, set === null || set === void 0 ? void 0 : set.issuer);
14
+ this.usageData = [];
15
+ this.simplifiedDailyUsage = [];
16
+ this.usageData = (set === null || set === void 0 ? void 0 : set.usageData) ? set === null || set === void 0 ? void 0 : set.usageData : [];
17
+ }
18
+ getLocationDataFromRequest(req) {
19
+ try {
20
+ this.data.address = dynamobe_shared_service_1.DBE_Shared.getIpFromRequest(req);
21
+ this.data.locationData = dynamobe_shared_service_1.DBE_Shared.getLocationDataByRequest(req);
22
+ /* console.log(`...getLocationDataFromRequest... ip: ${this.data.address}`, this.data.locationData); */
23
+ }
24
+ catch (error) {
25
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'getLocationDataFromRequest was unsuccessful', error });
26
+ }
27
+ }
28
+ getLastWeekUsage() {
29
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ try {
31
+ yield this.dataDBService.find({
32
+ sessionStart: { $gte: dynamobe_shared_service_1.DBE_Shared.oneWeekAgo() }
33
+ }).then((res) => {
34
+ this.dataList = res;
35
+ });
36
+ this.simplifiedDailyUsage = [];
37
+ this.dataList.forEach((session) => {
38
+ var _a;
39
+ let dateIndex = this.simplifiedDailyUsage.findIndex((dailyData) => dailyData.date === session.date);
40
+ if (-1 < dateIndex) {
41
+ this.simplifiedDailyUsage[dateIndex].visitations.push(session);
42
+ }
43
+ else {
44
+ const newUsageSimple = new daily_usage_data_1.DailyUsageData({ date: session.date, visitations: [session] });
45
+ this.simplifiedDailyUsage.push(newUsageSimple);
46
+ dateIndex = this.simplifiedDailyUsage.length - 1;
47
+ }
48
+ if ((_a = session === null || session === void 0 ? void 0 : session.locationData) === null || _a === void 0 ? void 0 : _a.country) {
49
+ if (session.locationData.country === 'HU') {
50
+ this.simplifiedDailyUsage[dateIndex].visitorsHun++;
51
+ }
52
+ else {
53
+ this.simplifiedDailyUsage[dateIndex].visitorsElse++;
54
+ }
55
+ }
56
+ this.simplifiedDailyUsage[dateIndex].totalVisitTime += session.totalSessionTime;
57
+ this.simplifiedDailyUsage[dateIndex].averageVisitTime = Math.round((this.simplifiedDailyUsage[dateIndex].totalVisitTime /
58
+ this.simplifiedDailyUsage[dateIndex].visitations.length) * 100) / 100;
59
+ });
60
+ this.simplifiedDailyUsage.sort((a, b) => +new Date(b.date) - +new Date(a.date));
61
+ this.simplifiedDailyUsage.forEach((daily) => {
62
+ daily.visitations.sort((a, b) => +a.sessionStart - +b.sessionStart);
63
+ });
64
+ }
65
+ catch (error) {
66
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'getDailyUsage was unsuccessful', error });
67
+ }
68
+ });
69
+ }
70
+ updateUsageData(req) {
71
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
72
+ try {
73
+ yield this.getDataById();
74
+ this.data.usageData = this.usageData;
75
+ let totalTime = 0;
76
+ this.data.usageData.forEach((data) => {
77
+ totalTime += data.timeSpentOnPage;
78
+ });
79
+ if (!this.data.locationData) {
80
+ this.getLocationDataFromRequest(req);
81
+ }
82
+ this.data.totalSessionTime = totalTime;
83
+ yield this.saveData();
84
+ }
85
+ catch (error) {
86
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'updateSessionData was unsuccessful', error });
87
+ }
88
+ });
89
+ }
90
+ closeSession(req) {
91
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
92
+ try {
93
+ yield this.getDataById();
94
+ this.data.sessionEnd = new Date();
95
+ const newTotalSessionTime = +this.data.sessionEnd - +this.data.sessionStart;
96
+ this.data.usageData[this.data.usageData.length - 1].timeSpentOnPage = newTotalSessionTime - this.data.totalSessionTime;
97
+ if (!this.data.locationData) {
98
+ this.getLocationDataFromRequest(req);
99
+ }
100
+ this.data.usageData.sort((a, b) => +a.opened - +b.opened);
101
+ this.data.totalSessionTime = newTotalSessionTime;
102
+ yield this.saveData();
103
+ }
104
+ catch (error) {
105
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'closeSession was unsuccessful', error });
106
+ }
107
+ });
108
+ }
109
+ }
110
+ exports.UsageService = UsageService;
@@ -0,0 +1,9 @@
1
+ import { DynamoBEApiCallParams } from '../_models/dynamobe-api-call-params';
2
+ export declare class DynamoBEApiService {
3
+ static startApiCall<T>(callParams: DynamoBEApiCallParams, inputParams?: {
4
+ pathParams?: {
5
+ [param: string]: string;
6
+ };
7
+ body?: any;
8
+ }): Promise<T>;
9
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-api.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-api.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAI5E,qBAAa,kBAAkB;WAET,YAAY,CAAC,CAAC,EAChC,UAAU,EAAE,qBAAqB,EACjC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE;YACX,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;SACxB,CAAC;QAEF,IAAI,CAAC,EAAE,GAAG,CAAA;KACX,GACA,OAAO,CAAC,CAAC,CAAC;CAkHd"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEApiService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const axios = tslib_1.__importStar(require("axios"));
6
+ const http_call_type_enum_1 = require("../_enum/http/http-call-type.enum");
7
+ const http_response_type_enum_1 = require("../_enum/http/http-response-type.enum");
8
+ const dynamobe_error_1 = require("../_models/fullstack-models/control-models/dynamobe-error");
9
+ const dynamobe_shared_service_1 = require("./dynamobe-shared.service");
10
+ class DynamoBEApiService {
11
+ static startApiCall(callParams, inputParams) {
12
+ var _a, _b, _c, _d;
13
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
+ try {
15
+ let a;
16
+ let url = callParams.baseUrl + callParams.endPoint;
17
+ const privateAxiosInstance = axios.default.create();
18
+ if ((_a = callParams === null || callParams === void 0 ? void 0 : callParams.httpOptions) === null || _a === void 0 ? void 0 : _a.headers) {
19
+ for (const headerKey in callParams.httpOptions.headers) {
20
+ if (callParams.httpOptions.headers[headerKey]) {
21
+ privateAxiosInstance.defaults.headers.common[headerKey] = callParams.httpOptions.headers[headerKey];
22
+ }
23
+ else {
24
+ dynamobe_shared_service_1.DBE_Shared.logError('DYNAMOBE ERROR: \n missing header:', headerKey, '\n\n', new Error());
25
+ }
26
+ }
27
+ }
28
+ if (inputParams === null || inputParams === void 0 ? void 0 : inputParams.pathParams) {
29
+ for (const pathParamKey in inputParams.pathParams) {
30
+ if (inputParams.pathParams[pathParamKey]) {
31
+ const paramType = typeof inputParams.pathParams[pathParamKey];
32
+ switch (paramType) {
33
+ case 'number':
34
+ url = url.replace(`{${pathParamKey}}`, inputParams.pathParams[pathParamKey].toString());
35
+ break;
36
+ case 'string':
37
+ url = url.replace(`{${pathParamKey}}`, inputParams.pathParams[pathParamKey]);
38
+ break;
39
+ default:
40
+ dynamobe_shared_service_1.DBE_Shared.logError(`DYNAMOBE ERROR: \n wrong path param type: (${pathParamKey}): ${paramType} \n${inputParams.pathParams[pathParamKey]}\nMUST BE string or number\n\n`, new Error());
41
+ break;
42
+ }
43
+ }
44
+ else {
45
+ dynamobe_shared_service_1.DBE_Shared.logError('DYNAMOBE ERROR: \n missing pathParam:', pathParamKey, '\n\n', new Error());
46
+ }
47
+ }
48
+ }
49
+ /* if (inputParams?.queryParams) {
50
+ const httpParams = new HttpParams();
51
+ for (const queryParamKey in inputParams.queryParams) {
52
+ if (inputParams.queryParams[queryParamKey]) {
53
+ switch (typeof inputParams.queryParams[queryParamKey]) {
54
+ case 'number':
55
+ httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey].toString());
56
+ break;
57
+ case 'string':
58
+ httpParams.set(queryParamKey, inputParams.queryParams[queryParamKey]);
59
+ break;
60
+ default:
61
+ console.error('DYNAMOBE ERROR: \n wrong query param type', '\n\n', new Error());
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ callParams.httpOptions.params = httpParams;
67
+ } */
68
+ switch (callParams.type) {
69
+ case http_call_type_enum_1.HttpCallType.get:
70
+ if (inputParams === null || inputParams === void 0 ? void 0 : inputParams.body) {
71
+ console.log('WARNING you cant send body in get calls');
72
+ }
73
+ yield privateAxiosInstance.get(url, callParams.httpOptions).then((res) => {
74
+ a = res.data;
75
+ console.log(`${callParams.name} was successful`, res.data);
76
+ });
77
+ break;
78
+ case http_call_type_enum_1.HttpCallType.delete:
79
+ if (inputParams === null || inputParams === void 0 ? void 0 : inputParams.body) {
80
+ console.log('WARNING you cant send body in delete calls');
81
+ }
82
+ yield privateAxiosInstance.delete(url, callParams.httpOptions).then((res) => {
83
+ console.log(`${callParams.name} was successful`, res.data);
84
+ });
85
+ break;
86
+ case http_call_type_enum_1.HttpCallType.post:
87
+ case http_call_type_enum_1.HttpCallType.put:
88
+ case http_call_type_enum_1.HttpCallType.patch:
89
+ if (!(inputParams === null || inputParams === void 0 ? void 0 : inputParams.body)) {
90
+ if (!inputParams) {
91
+ inputParams = {};
92
+ }
93
+ inputParams.body = {};
94
+ }
95
+ yield privateAxiosInstance[callParams.type](url, inputParams.body, callParams.httpOptions).then((res) => {
96
+ a = res.data;
97
+ console.log(`${callParams.name} was successful`, res.data);
98
+ });
99
+ break;
100
+ default:
101
+ dynamobe_shared_service_1.DBE_Shared.logError('DYNAMOBE ERROR: \n wrong api call type', '\n\n', new Error());
102
+ break;
103
+ }
104
+ return a;
105
+ }
106
+ catch (error) {
107
+ dynamobe_shared_service_1.DBE_Shared.logError('API ERRROR');
108
+ if (((_b = callParams === null || callParams === void 0 ? void 0 : callParams.httpOptions) === null || _b === void 0 ? void 0 : _b.responseType) === http_response_type_enum_1.HttpResponseType.text) {
109
+ error.error = JSON.parse(error.error);
110
+ }
111
+ if (((_d = (_c = error === null || error === void 0 ? void 0 : error.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.flag) === 'DYNAMO-BE ERROR OBJECT') {
112
+ dynamobe_shared_service_1.DBE_Shared.logError(`\n${callParams.name} was UNSUCCESSFUL\n\n`, new Error());
113
+ throw new dynamobe_error_1.DynamoBEError(error.response.data);
114
+ }
115
+ else if (error.code === 'ENOTFOUND') {
116
+ dynamobe_shared_service_1.DBE_Shared.logError(`\n${callParams.name} was UNSUCCESSFUL\n\n`, new Error());
117
+ throw new dynamobe_error_1.DynamoBEError({ message: 'DNS error; address cannot be resolved!', status: 404, error: error });
118
+ }
119
+ else if (error.config && error.message) {
120
+ throw new dynamobe_error_1.DynamoBEError({ status: +error.message.substring(error.message.length - 4, 3), error: error });
121
+ }
122
+ else {
123
+ dynamobe_shared_service_1.DBE_Shared.logError(`\n${callParams.name} was UNSUCCESSFUL`, error, '\n\n', new Error());
124
+ throw error;
125
+ }
126
+ }
127
+ });
128
+ }
129
+ }
130
+ exports.DynamoBEApiService = DynamoBEApiService;
@@ -0,0 +1,11 @@
1
+ import { DynamoBEAppParams } from '../_models/dynamobe-app-params';
2
+ import * as Mongoose from 'mongoose';
3
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
4
+ export declare abstract class DynamoBEApp extends DynamoBESingletonService {
5
+ protected params: DynamoBEAppParams;
6
+ protected mongoose: typeof Mongoose;
7
+ constructor();
8
+ private startDB;
9
+ abstract setupAppParams(): void;
10
+ abstract setGlobalServiceCollection(): void;
11
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-app.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8BAAsB,WAAY,SAAQ,wBAAwB;IAEhE,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEpC,SAAS,CAAC,QAAQ,kBAAY;;IAkB9B,OAAO,CAAC,OAAO;IAkBf,QAAQ,CAAC,cAAc,IAAI,IAAI;IAC/B,QAAQ,CAAC,0BAA0B,IAAI,IAAI;CAC5C"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEApp = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Mongoose = tslib_1.__importStar(require("mongoose"));
6
+ const dynamobe_shared_service_1 = require("./dynamobe-shared.service");
7
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
8
+ class DynamoBEApp extends dynamobe_singleton_service_1.DynamoBESingletonService {
9
+ constructor() {
10
+ super();
11
+ this.mongoose = Mongoose;
12
+ try {
13
+ this.setupAppParams();
14
+ console.log(`\n\n\nStarting ${this.params.name}... \nVersion: ${this.params.version}`);
15
+ if (this.params.title)
16
+ console.log(this.params.title);
17
+ this.startDB();
18
+ this.setGlobalServiceCollection();
19
+ }
20
+ catch (error) {
21
+ dynamobe_shared_service_1.DBE_Shared.logError('\nApplication start failed.\n', error);
22
+ }
23
+ }
24
+ startDB() {
25
+ this.mongoose.connection
26
+ .on('error', (error) => {
27
+ dynamobe_shared_service_1.DBE_Shared.logError('Unable to connect to MongoDB server, ERROR: ', error);
28
+ })
29
+ .once('open', () => {
30
+ dynamobe_shared_service_1.DBE_Shared.logSuccess('\nConnected to MongoDB\n');
31
+ });
32
+ this.mongoose.connect(this.params.dbUri, {
33
+ useNewUrlParser: true,
34
+ useUnifiedTopology: true
35
+ });
36
+ }
37
+ }
38
+ exports.DynamoBEApp = DynamoBEApp;
@@ -0,0 +1,25 @@
1
+ import { NextFunction, Request, Response } from 'express';
2
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
3
+ export declare abstract class DynamoBEAuthService extends DynamoBESingletonService {
4
+ /**
5
+ *
6
+ * @param req
7
+ * @returns
8
+ */
9
+ static getTokenFromRequest(req: Request): string;
10
+ abstract authenticateTokenSelf(req: Request, res: Response, next: NextFunction): Promise<void>;
11
+ abstract authenticateToken(req: Request, res: Response, next: NextFunction): Promise<void>;
12
+ /**
13
+ * Authenticate Token for Permission to Access UsageData
14
+ * @param req
15
+ * @param res
16
+ * @param next
17
+ */
18
+ abstract authTokenPermAccUsageData(req: Request, res: Response, next: NextFunction): Promise<void>;
19
+ /**
20
+ * The DynamoBE System is using this to get issuer, that will be set on DBServices
21
+ * @param req
22
+ */
23
+ abstract getAccountIdFromRequest(req: Request): string;
24
+ abstract getUsernameFromRequest(req: Request): string;
25
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-auth.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8BAAsB,mBAAoB,SAAQ,wBAAwB;IAExE;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAYhD,QAAQ,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9F,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1F;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElG;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IACtD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CACtD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEAuthService = void 0;
4
+ const dynamobe_error_1 = require("../_models/fullstack-models/control-models/dynamobe-error");
5
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
6
+ class DynamoBEAuthService extends dynamobe_singleton_service_1.DynamoBESingletonService {
7
+ /**
8
+ *
9
+ * @param req
10
+ * @returns
11
+ */
12
+ static getTokenFromRequest(req) {
13
+ const authHeader = req.headers['authorization'];
14
+ if (!authHeader) {
15
+ throw new dynamobe_error_1.DynamoBEError({ message: 'AuthHeader missing!' });
16
+ }
17
+ const token = authHeader.split(' ')[1];
18
+ if (!token) {
19
+ throw new dynamobe_error_1.DynamoBEError({ message: 'Token missing!' });
20
+ }
21
+ return token;
22
+ }
23
+ }
24
+ exports.DynamoBEAuthService = DynamoBEAuthService;
@@ -0,0 +1,10 @@
1
+ import { DynamoBEEndpointParams } from '../_models/dynamobe-endpoint-control';
2
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
3
+ export declare abstract class DynamoBEController extends DynamoBESingletonService {
4
+ endpoints: DynamoBEEndpointParams[];
5
+ protected constructor();
6
+ /**
7
+ * You must setup endpoints and required services in this function
8
+ */
9
+ abstract setupEndpoints(): void;
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-controller.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-controller.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8BAAsB,kBAAmB,SAAQ,wBAAwB;IAEvE,SAAS,EAAE,sBAAsB,EAAE,CAAC;IAEpC,SAAS;IAMT;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,IAAI;CAChC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEController = void 0;
4
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
5
+ class DynamoBEController extends dynamobe_singleton_service_1.DynamoBESingletonService {
6
+ constructor() {
7
+ super();
8
+ this.setupEndpoints();
9
+ }
10
+ }
11
+ exports.DynamoBEController = DynamoBEController;