@futdevpro/nts-dynamo 1.4.4 → 1.4.6

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 (225) hide show
  1. package/lib/_constants/dynamobe-global.settings.d.ts +3 -0
  2. package/lib/_constants/dynamobe-global.settings.d.ts.map +1 -0
  3. package/lib/_constants/dynamobe-global.settings.js +13 -0
  4. package/lib/_constants/dynamobe-global.settings.js.map +1 -0
  5. package/lib/_constants/index.d.ts +2 -0
  6. package/lib/_constants/index.d.ts.map +1 -0
  7. package/lib/_constants/index.js +5 -0
  8. package/lib/_constants/index.js.map +1 -0
  9. package/lib/_enums/data-model-type.enum.d.ts +6 -0
  10. package/lib/_enums/data-model-type.enum.d.ts.map +1 -0
  11. package/lib/_enums/data-model-type.enum.js +10 -0
  12. package/lib/_enums/data-model-type.enum.js.map +1 -0
  13. package/lib/_enums/dynamobe-data-service-function.enum.d.ts +8 -0
  14. package/lib/_enums/dynamobe-data-service-function.enum.d.ts.map +1 -0
  15. package/lib/_enums/dynamobe-data-service-function.enum.js +15 -0
  16. package/lib/_enums/dynamobe-data-service-function.enum.js.map +1 -0
  17. package/lib/_enums/dynamobe-route-security.enum.d.ts +6 -0
  18. package/lib/_enums/dynamobe-route-security.enum.d.ts.map +1 -0
  19. package/lib/_enums/dynamobe-route-security.enum.js +10 -0
  20. package/lib/_enums/dynamobe-route-security.enum.js.map +1 -0
  21. package/lib/_enums/http/http-call-type.enum.d.ts +8 -0
  22. package/lib/_enums/http/http-call-type.enum.d.ts.map +1 -0
  23. package/lib/_enums/http/http-call-type.enum.js +12 -0
  24. package/lib/_enums/http/http-call-type.enum.js.map +1 -0
  25. package/lib/_enums/http/http-response-type.enum.d.ts +7 -0
  26. package/lib/_enums/http/http-response-type.enum.d.ts.map +1 -0
  27. package/lib/_enums/http/http-response-type.enum.js +11 -0
  28. package/lib/_enums/http/http-response-type.enum.js.map +1 -0
  29. package/lib/_enums/index.d.ts +8 -0
  30. package/lib/_enums/index.d.ts.map +1 -0
  31. package/lib/_enums/index.js +39 -0
  32. package/lib/_enums/index.js.map +1 -0
  33. package/lib/_enums/log-style.enum.d.ts +26 -0
  34. package/lib/_enums/log-style.enum.d.ts.map +1 -0
  35. package/lib/_enums/log-style.enum.js +30 -0
  36. package/lib/_enums/log-style.enum.js.map +1 -0
  37. package/lib/_enums/predefined-data-types.enum.d.ts +8 -0
  38. package/lib/_enums/predefined-data-types.enum.d.ts.map +1 -0
  39. package/lib/_enums/predefined-data-types.enum.js +12 -0
  40. package/lib/_enums/predefined-data-types.enum.js.map +1 -0
  41. package/lib/_models/dynamo-module-settings.d.ts +7 -0
  42. package/lib/_models/dynamo-module-settings.d.ts.map +1 -0
  43. package/lib/_models/dynamo-module-settings.js +3 -0
  44. package/lib/_models/dynamo-module-settings.js.map +1 -0
  45. package/lib/_models/dynamobe-api-call-params.d.ts +35 -0
  46. package/lib/_models/dynamobe-api-call-params.d.ts.map +1 -0
  47. package/lib/_models/dynamobe-api-call-params.js +24 -0
  48. package/lib/_models/dynamobe-api-call-params.js.map +1 -0
  49. package/lib/_models/dynamobe-app-params.d.ts +15 -0
  50. package/lib/_models/dynamobe-app-params.d.ts.map +1 -0
  51. package/lib/_models/dynamobe-app-params.js +14 -0
  52. package/lib/_models/dynamobe-app-params.js.map +1 -0
  53. package/lib/_models/dynamobe-data-model-params.d.ts +13 -0
  54. package/lib/_models/dynamobe-data-model-params.d.ts.map +1 -0
  55. package/lib/_models/dynamobe-data-model-params.js +15 -0
  56. package/lib/_models/dynamobe-data-model-params.js.map +1 -0
  57. package/lib/_models/dynamobe-endpoint-params.d.ts +30 -0
  58. package/lib/_models/dynamobe-endpoint-params.d.ts.map +1 -0
  59. package/lib/_models/dynamobe-endpoint-params.js +101 -0
  60. package/lib/_models/dynamobe-endpoint-params.js.map +1 -0
  61. package/lib/_models/dynamobe-global-settings.d.ts +10 -0
  62. package/lib/_models/dynamobe-global-settings.d.ts.map +1 -0
  63. package/lib/_models/dynamobe-global-settings.js +3 -0
  64. package/lib/_models/dynamobe-global-settings.js.map +1 -0
  65. package/lib/_models/index.d.ts +6 -0
  66. package/lib/_models/index.d.ts.map +1 -0
  67. package/lib/_models/index.js +10 -0
  68. package/lib/_models/index.js.map +1 -0
  69. package/lib/_modules/api-service.index.d.ts +5 -0
  70. package/lib/_modules/api-service.index.d.ts.map +1 -0
  71. package/lib/_modules/api-service.index.js +11 -0
  72. package/lib/_modules/api-service.index.js.map +1 -0
  73. package/lib/_modules/app.index.d.ts +10 -0
  74. package/lib/_modules/app.index.d.ts.map +1 -0
  75. package/lib/_modules/app.index.js +17 -0
  76. package/lib/_modules/app.index.js.map +1 -0
  77. package/lib/_modules/auth.index.d.ts +3 -0
  78. package/lib/_modules/auth.index.d.ts.map +1 -0
  79. package/lib/_modules/auth.index.js +7 -0
  80. package/lib/_modules/auth.index.js.map +1 -0
  81. package/lib/_modules/controller.index.d.ts +5 -0
  82. package/lib/_modules/controller.index.d.ts.map +1 -0
  83. package/lib/_modules/controller.index.js +11 -0
  84. package/lib/_modules/controller.index.js.map +1 -0
  85. package/lib/_modules/data-service.index.d.ts +5 -0
  86. package/lib/_modules/data-service.index.d.ts.map +1 -0
  87. package/lib/_modules/data-service.index.js +9 -0
  88. package/lib/_modules/data-service.index.js.map +1 -0
  89. package/lib/_modules/test/custom-data.service.d.ts +6 -0
  90. package/lib/_modules/test/custom-data.service.d.ts.map +1 -0
  91. package/lib/_modules/test/custom-data.service.js +12 -0
  92. package/lib/_modules/test/custom-data.service.js.map +1 -0
  93. package/lib/_modules/test/get-test-routing-module.d.ts +4 -0
  94. package/lib/_modules/test/get-test-routing-module.d.ts.map +1 -0
  95. package/lib/_modules/test/get-test-routing-module.js +18 -0
  96. package/lib/_modules/test/get-test-routing-module.js.map +1 -0
  97. package/lib/_modules/test/index.d.ts +4 -0
  98. package/lib/_modules/test/index.d.ts.map +1 -0
  99. package/lib/_modules/test/index.js +8 -0
  100. package/lib/_modules/test/index.js.map +1 -0
  101. package/lib/_modules/test/test-controller.d.ts +6 -0
  102. package/lib/_modules/test/test-controller.d.ts.map +1 -0
  103. package/lib/_modules/test/test-controller.js +127 -0
  104. package/lib/_modules/test/test-controller.js.map +1 -0
  105. package/lib/_modules/usage/get-usage-routing-module.d.ts +4 -0
  106. package/lib/_modules/usage/get-usage-routing-module.d.ts.map +1 -0
  107. package/lib/_modules/usage/get-usage-routing-module.js +18 -0
  108. package/lib/_modules/usage/get-usage-routing-module.js.map +1 -0
  109. package/lib/_modules/usage/index.d.ts +4 -0
  110. package/lib/_modules/usage/index.d.ts.map +1 -0
  111. package/lib/_modules/usage/index.js +8 -0
  112. package/lib/_modules/usage/index.js.map +1 -0
  113. package/lib/_modules/usage/usage-controller.d.ts +7 -0
  114. package/lib/_modules/usage/usage-controller.d.ts.map +1 -0
  115. package/lib/_modules/usage/usage-controller.js +89 -0
  116. package/lib/_modules/usage/usage-controller.js.map +1 -0
  117. package/lib/_modules/usage/usage.service.d.ts +17 -0
  118. package/lib/_modules/usage/usage.service.d.ts.map +1 -0
  119. package/lib/_modules/usage/usage.service.js +108 -0
  120. package/lib/_modules/usage/usage.service.js.map +1 -0
  121. package/lib/_services/dynamobe-api.service.d.ts +10 -0
  122. package/lib/_services/dynamobe-api.service.d.ts.map +1 -0
  123. package/lib/_services/dynamobe-api.service.js +131 -0
  124. package/lib/_services/dynamobe-api.service.js.map +1 -0
  125. package/lib/_services/dynamobe-app.d.ts +105 -0
  126. package/lib/_services/dynamobe-app.d.ts.map +1 -0
  127. package/lib/_services/dynamobe-app.js +212 -0
  128. package/lib/_services/dynamobe-app.js.map +1 -0
  129. package/lib/_services/dynamobe-auth.service.d.ts +41 -0
  130. package/lib/_services/dynamobe-auth.service.d.ts.map +1 -0
  131. package/lib/_services/dynamobe-auth.service.js +40 -0
  132. package/lib/_services/dynamobe-auth.service.js.map +1 -0
  133. package/lib/_services/dynamobe-controller.service.d.ts +11 -0
  134. package/lib/_services/dynamobe-controller.service.d.ts.map +1 -0
  135. package/lib/_services/dynamobe-controller.service.js +18 -0
  136. package/lib/_services/dynamobe-controller.service.js.map +1 -0
  137. package/lib/_services/dynamobe-data.service.d.ts +50 -0
  138. package/lib/_services/dynamobe-data.service.d.ts.map +1 -0
  139. package/lib/_services/dynamobe-data.service.js +222 -0
  140. package/lib/_services/dynamobe-data.service.js.map +1 -0
  141. package/lib/_services/dynamobe-db-service-collection.service.d.ts +6 -0
  142. package/lib/_services/dynamobe-db-service-collection.service.d.ts.map +1 -0
  143. package/lib/_services/dynamobe-db-service-collection.service.js +8 -0
  144. package/lib/_services/dynamobe-db-service-collection.service.js.map +1 -0
  145. package/lib/_services/dynamobe-db.service.d.ts +149 -0
  146. package/lib/_services/dynamobe-db.service.d.ts.map +1 -0
  147. package/lib/_services/dynamobe-db.service.js +577 -0
  148. package/lib/_services/dynamobe-db.service.js.map +1 -0
  149. package/lib/_services/dynamobe-email-service-collection.service.d.ts +19 -0
  150. package/lib/_services/dynamobe-email-service-collection.service.d.ts.map +1 -0
  151. package/lib/_services/dynamobe-email-service-collection.service.js +21 -0
  152. package/lib/_services/dynamobe-email-service-collection.service.js.map +1 -0
  153. package/lib/_services/dynamobe-email.service.d.ts +34 -0
  154. package/lib/_services/dynamobe-email.service.d.ts.map +1 -0
  155. package/lib/_services/dynamobe-email.service.js +144 -0
  156. package/lib/_services/dynamobe-email.service.js.map +1 -0
  157. package/lib/_services/dynamobe-global.service.d.ts +40 -0
  158. package/lib/_services/dynamobe-global.service.d.ts.map +1 -0
  159. package/lib/_services/dynamobe-global.service.js +74 -0
  160. package/lib/_services/dynamobe-global.service.js.map +1 -0
  161. package/lib/_services/dynamobe-routing-module.service.d.ts +27 -0
  162. package/lib/_services/dynamobe-routing-module.service.d.ts.map +1 -0
  163. package/lib/_services/dynamobe-routing-module.service.js +119 -0
  164. package/lib/_services/dynamobe-routing-module.service.js.map +1 -0
  165. package/lib/_services/dynamobe-shared-be.service.d.ts +9 -0
  166. package/lib/_services/dynamobe-shared-be.service.d.ts.map +1 -0
  167. package/lib/_services/dynamobe-shared-be.service.js +45 -0
  168. package/lib/_services/dynamobe-shared-be.service.js.map +1 -0
  169. package/lib/_services/dynamobe-shared.service.d.ts +86 -0
  170. package/lib/_services/dynamobe-shared.service.d.ts.map +1 -0
  171. package/lib/_services/dynamobe-shared.service.js +251 -0
  172. package/lib/_services/dynamobe-shared.service.js.map +1 -0
  173. package/lib/_services/dynamobe-singleton.service.d.ts +6 -0
  174. package/lib/_services/dynamobe-singleton.service.d.ts.map +1 -0
  175. package/lib/_services/dynamobe-singleton.service.js +16 -0
  176. package/lib/_services/dynamobe-singleton.service.js.map +1 -0
  177. package/lib/_services/index.d.ts +15 -0
  178. package/lib/_services/index.d.ts.map +1 -0
  179. package/lib/_services/index.js +19 -0
  180. package/lib/_services/index.js.map +1 -0
  181. package/lib/index.d.ts +7 -0
  182. package/lib/index.d.ts.map +1 -0
  183. package/lib/index.js +15 -0
  184. package/lib/index.js.map +1 -0
  185. package/lib/tsconfig.tsbuildinfo +4257 -0
  186. package/package.json +4 -15
  187. package/src/_constants/index.ts +0 -3
  188. package/src/_models/dynamobe-data-model-params.ts +2 -1
  189. package/src/_models/index.ts +0 -13
  190. package/src/_modules/api-service.index.ts +0 -1
  191. package/src/_modules/auth.index.ts +0 -3
  192. package/src/_modules/data-service.index.ts +0 -3
  193. package/src/_modules/test/custom-data.service.ts +2 -1
  194. package/src/_modules/test/get-test-routing-module.ts +2 -1
  195. package/src/_modules/test/index.ts +0 -2
  196. package/src/_modules/test/test-controller.ts +2 -1
  197. package/src/_modules/usage/get-usage-routing-module.ts +2 -1
  198. package/src/_modules/usage/index.ts +0 -2
  199. package/src/_modules/usage/usage-controller.ts +2 -2
  200. package/src/_modules/usage/usage.service.ts +4 -5
  201. package/src/_services/dynamobe-api.service.ts +2 -1
  202. package/src/_services/dynamobe-auth.service.ts +2 -1
  203. package/src/_services/dynamobe-data.service.ts +3 -4
  204. package/src/_services/dynamobe-db.service.ts +2 -4
  205. package/src/_services/dynamobe-email.service.ts +2 -1
  206. package/src/_services/dynamobe-global.service.ts +2 -2
  207. package/src/_services/dynamobe-routing-module.service.ts +2 -1
  208. package/src/_services/dynamobe-shared-be.service.ts +2 -1
  209. package/src/_services/dynamobe-shared.service.ts +2 -3
  210. package/src/index.ts +0 -6
  211. package/src/_constants/fullstack/module-settings/test-module-settings.ts +0 -14
  212. package/src/_constants/fullstack/module-settings/usage-module-settings.ts +0 -12
  213. package/src/_constants/fullstack/times.ts +0 -8
  214. package/src/_models/fullstack/control-models/daily-usage-data.ts +0 -34
  215. package/src/_models/fullstack/control-models/dynamobe-data-params.ts +0 -19
  216. package/src/_models/fullstack/control-models/dynamobe-data-property-params.ts +0 -98
  217. package/src/_models/fullstack/control-models/dynamobe-error.ts +0 -199
  218. package/src/_models/fullstack/control-models/geo-ip-location.ts +0 -26
  219. package/src/_models/fullstack/control-models/location-coordinates.ts +0 -5
  220. package/src/_models/fullstack/control-models/usage-action.ts +0 -18
  221. package/src/_models/fullstack/control-models/usage-data.ts +0 -26
  222. package/src/_models/fullstack/data-models/custom-data.ts +0 -41
  223. package/src/_models/fullstack/data-models/metadata.ts +0 -30
  224. package/src/_models/fullstack/data-models/usage-session.ts +0 -85
  225. package/src/_modules/data-models.index.ts +0 -3
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsageController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const http_call_type_enum_1 = require("../../_enums/http/http-call-type.enum");
7
+ const dynamobe_endpoint_params_1 = require("../../_models/dynamobe-endpoint-params");
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_params_1.DynamoBEEndpointParams({
19
+ name: 'newSession',
20
+ type: http_call_type_enum_1.HttpCallType.get,
21
+ endpoint: fsm_dynamo_1.usageModuleSettings.endPoints.newSession,
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 fsm_dynamo_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_params_1.DynamoBEEndpointParams({
40
+ name: 'updateUsage',
41
+ type: http_call_type_enum_1.HttpCallType.post,
42
+ endpoint: fsm_dynamo_1.usageModuleSettings.endPoints.updateUsage,
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_params_1.DynamoBEEndpointParams({
57
+ name: 'closeSession',
58
+ type: http_call_type_enum_1.HttpCallType.get,
59
+ endpoint: fsm_dynamo_1.usageModuleSettings.endPoints.closeSession,
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_params_1.DynamoBEEndpointParams({
73
+ name: 'getAllUsageData',
74
+ type: http_call_type_enum_1.HttpCallType.get,
75
+ endpoint: fsm_dynamo_1.usageModuleSettings.endPoints.getAllUsageData,
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;
89
+ //# sourceMappingURL=usage-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-controller.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Request } from 'express';
2
+ import { DynamoUsageSession, DynamoUsageData, DailyUsageData } from '@futdevpro/fsm-dynamo';
3
+ import { DynamoBEDataService } from '../../_services/dynamobe-data.service';
4
+ export declare class UsageService extends DynamoBEDataService<DynamoUsageSession> {
5
+ usageData: DynamoUsageData[];
6
+ simplifiedDailyUsage: DailyUsageData[];
7
+ constructor(set?: {
8
+ usageSession?: DynamoUsageSession;
9
+ usageData?: DynamoUsageData[];
10
+ issuer?: string;
11
+ });
12
+ getLocationDataFromRequest(req: Request): void;
13
+ getLastWeekUsage(): Promise<void>;
14
+ updateUsageData(req: Request): Promise<void>;
15
+ closeSession(req: Request): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=usage.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage/usage.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAClB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,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;IAUH,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,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsageService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const dynamobe_data_service_1 = require("../../_services/dynamobe-data.service");
7
+ const dynamobe_shared_be_service_1 = require("../../_services/dynamobe-shared-be.service");
8
+ class UsageService extends dynamobe_data_service_1.DynamoBEDataService {
9
+ constructor(set) {
10
+ super(new fsm_dynamo_1.DynamoUsageSession(set === null || set === void 0 ? void 0 : set.usageSession), fsm_dynamo_1.usageSessionModelParams, set === null || set === void 0 ? void 0 : set.issuer);
11
+ this.usageData = [];
12
+ this.simplifiedDailyUsage = [];
13
+ this.usageData = (set === null || set === void 0 ? void 0 : set.usageData) ? set === null || set === void 0 ? void 0 : set.usageData : [];
14
+ }
15
+ getLocationDataFromRequest(req) {
16
+ try {
17
+ this.data.address = dynamobe_shared_be_service_1.DBE_Shared_BE.getIpFromRequest(req);
18
+ this.data.locationData = dynamobe_shared_be_service_1.DBE_Shared_BE.getLocationDataByRequest(req);
19
+ /* console.log(`...getLocationDataFromRequest... ip: ${this.data.address}`, this.data.locationData); */
20
+ }
21
+ catch (error) {
22
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getLocationDataFromRequest was unsuccessful', error });
23
+ }
24
+ }
25
+ getLastWeekUsage() {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ try {
28
+ yield this.dataDBService.find({
29
+ sessionStart: { $gte: dynamobe_shared_be_service_1.DBE_Shared_BE.oneWeekAgo() }
30
+ }).then((res) => {
31
+ this.dataList = res;
32
+ });
33
+ this.simplifiedDailyUsage = [];
34
+ this.dataList.forEach((session) => {
35
+ var _a;
36
+ let dateIndex = this.simplifiedDailyUsage.findIndex((dailyData) => dailyData.date === session.date);
37
+ if (-1 < dateIndex) {
38
+ this.simplifiedDailyUsage[dateIndex].visitations.push(session);
39
+ }
40
+ else {
41
+ const newUsageSimple = new fsm_dynamo_1.DailyUsageData({ date: session.date, visitations: [session] });
42
+ this.simplifiedDailyUsage.push(newUsageSimple);
43
+ dateIndex = this.simplifiedDailyUsage.length - 1;
44
+ }
45
+ if ((_a = session === null || session === void 0 ? void 0 : session.locationData) === null || _a === void 0 ? void 0 : _a.country) {
46
+ if (session.locationData.country === 'HU') {
47
+ this.simplifiedDailyUsage[dateIndex].visitorsHun++;
48
+ }
49
+ else {
50
+ this.simplifiedDailyUsage[dateIndex].visitorsElse++;
51
+ }
52
+ }
53
+ this.simplifiedDailyUsage[dateIndex].totalVisitTime += session.totalSessionTime;
54
+ this.simplifiedDailyUsage[dateIndex].averageVisitTime = Math.round((this.simplifiedDailyUsage[dateIndex].totalVisitTime /
55
+ this.simplifiedDailyUsage[dateIndex].visitations.length) * 100) / 100;
56
+ });
57
+ this.simplifiedDailyUsage.sort((a, b) => +new Date(b.date) - +new Date(a.date));
58
+ this.simplifiedDailyUsage.forEach((daily) => {
59
+ daily.visitations.sort((a, b) => +a.sessionStart - +b.sessionStart);
60
+ });
61
+ }
62
+ catch (error) {
63
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getDailyUsage was unsuccessful', error });
64
+ }
65
+ });
66
+ }
67
+ updateUsageData(req) {
68
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
+ try {
70
+ yield this.getDataById();
71
+ this.data.usageData = this.usageData;
72
+ let totalTime = 0;
73
+ this.data.usageData.forEach((data) => {
74
+ totalTime += data.timeSpentOnPage;
75
+ });
76
+ if (!this.data.locationData) {
77
+ this.getLocationDataFromRequest(req);
78
+ }
79
+ this.data.totalSessionTime = totalTime;
80
+ yield this.saveData();
81
+ }
82
+ catch (error) {
83
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'updateSessionData was unsuccessful', error });
84
+ }
85
+ });
86
+ }
87
+ closeSession(req) {
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ try {
90
+ yield this.getDataById();
91
+ this.data.sessionEnd = new Date();
92
+ const newTotalSessionTime = +this.data.sessionEnd - +this.data.sessionStart;
93
+ this.data.usageData[this.data.usageData.length - 1].timeSpentOnPage = newTotalSessionTime - this.data.totalSessionTime;
94
+ if (!this.data.locationData) {
95
+ this.getLocationDataFromRequest(req);
96
+ }
97
+ this.data.usageData.sort((a, b) => +a.opened - +b.opened);
98
+ this.data.totalSessionTime = newTotalSessionTime;
99
+ yield this.saveData();
100
+ }
101
+ catch (error) {
102
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'closeSession was unsuccessful', error });
103
+ }
104
+ });
105
+ }
106
+ }
107
+ exports.UsageService = UsageService;
108
+ //# sourceMappingURL=usage.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.service.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
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
+ }
10
+ //# sourceMappingURL=dynamobe-api.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-api.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-api.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,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,131 @@
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 fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
7
+ const http_call_type_enum_1 = require("../_enums/http/http-call-type.enum");
8
+ const http_response_type_enum_1 = require("../_enums/http/http-response-type.enum");
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 fsm_dynamo_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 fsm_dynamo_1.DynamoBEError({ message: 'DNS error; address cannot be resolved!', status: 404, error: error });
118
+ }
119
+ else if (error.config && error.message) {
120
+ throw new fsm_dynamo_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;
131
+ //# sourceMappingURL=dynamobe-api.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-api.service.js","sourceRoot":"","sources":["../../src/_services/dynamobe-api.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /// <reference types="node" />
2
+ import { DynamoBEAppParams } from '../_models/dynamobe-app-params';
3
+ import Mongoose = require("mongoose");
4
+ import * as FileSystem from 'fs';
5
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
6
+ import { DynamoBERouteSecurity } from '../_enums/dynamobe-route-security.enum';
7
+ import { DynamoBERoutingModule } from './dynamobe-routing-module.service';
8
+ /**
9
+ * This will be the main service of our server project,
10
+ * follow the types and type instructions while setting up your project
11
+ *
12
+ * In this service, there are abstract functions that you will need to implement,
13
+ * where you need to set up the main params for your application.
14
+ */
15
+ export declare abstract class DynamoBEApp extends DynamoBESingletonService {
16
+ protected params: DynamoBEAppParams;
17
+ protected mongoose: typeof Mongoose;
18
+ protected security: DynamoBERouteSecurity;
19
+ protected httpPort?: number;
20
+ protected httpsPort?: number;
21
+ protected cert?: {
22
+ keyPath: FileSystem.PathLike;
23
+ certPath: FileSystem.PathLike;
24
+ };
25
+ private secureExpress;
26
+ private httpsServer;
27
+ private openExpress;
28
+ protected routingModules: DynamoBERoutingModule[];
29
+ protected log: boolean;
30
+ constructor();
31
+ private startDB;
32
+ private initExpresses;
33
+ private initOpenExpress;
34
+ private initSecureExpress;
35
+ private startExpresses;
36
+ private mountSecureRoutes;
37
+ private mountOpenRoutes;
38
+ private setSecurity;
39
+ /**
40
+ * You must setup app params in this function like this:
41
+ *
42
+ * @example
43
+ * this.params = new DynamoBEAppParams({
44
+ * name: 'Sample Server',
45
+ * title: 'A BIG nice header that will be logged on start',
46
+ * version: version,
47
+ * dbName: 'sampleapp',
48
+ * });
49
+ */
50
+ abstract setupAppParams(): void;
51
+ /**
52
+ * You must setup globalServiceCollection and dbServices in this function
53
+ *
54
+ * @example
55
+ * DBE_Global_S.setServices({
56
+ * authService: AuthService.getInstance(),
57
+ * emailServiceCollection: EmailServiceCollectionService.getInstance(),
58
+ * dbModels: [
59
+ * accountModelParams,
60
+ * projectModelParams,
61
+ * ...
62
+ * ]
63
+ * });
64
+ *
65
+ * DBE_Global_S.setGlobalSettings({
66
+ * defaultRouteSecurity: DynamoBERouteSecurity.secure,
67
+ * logSetup: true,
68
+ * });
69
+ *
70
+ */
71
+ abstract setGlobalServiceCollection(): void;
72
+ /**
73
+ * You must setup endpoints and required services in this function
74
+ *
75
+ * @example
76
+ * this.httpPort = env.httpPort;
77
+ * this.httpsPort = env.httpsPort;
78
+
79
+ * this.cert = {
80
+ * keyPath: Path.join(__dirname, './_assets/cert/ucc.key'),
81
+ * certPath: Path.join(__dirname, './_assets/cert/ucc.crt'),
82
+ * };
83
+
84
+ * this.routingModules = [
85
+ * new DynamoBERountingModule({
86
+ * route: '/api/account',
87
+ * controllers: [
88
+ * AccountController.getInstance(),
89
+ * PersonalInformationController.getInstance(),
90
+ * ...
91
+ * ]
92
+ * }),
93
+ * new DynamoBERountingModule({
94
+ * route: '/api/project',
95
+ * controllers: [
96
+ * ProjectController.getInstance(),
97
+ * ProjectExtensionController.getInstance(),
98
+ * ]
99
+ * }),
100
+ * ...
101
+ * ];
102
+ */
103
+ abstract setupRoutingModules(): void;
104
+ }
105
+ //# sourceMappingURL=dynamobe-app.d.ts.map
@@ -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,QAAQ,GAAG,QAAQ,UAAU,CAAC,CAAC;AAGtC,OAAO,KAAK,UAAU,MAAM,IAAI,CAAC;AAIjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI1E;;;;;;GAMG;AACH,8BAAsB,WAAY,SAAQ,wBAAwB;IAEhE,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEpC,SAAS,CAAC,QAAQ,kBAAY;IAE9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,IAAI,CAAC,EAAE;QACf,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;KAC/B,CAAC;IAEF,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAsB;IAEzC,SAAS,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;;IAoCvB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,aAAa;IAsErB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;YAYX,cAAc;IA4B5B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,WAAW;IAUnB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAc,IAAI,IAAI;IAE/B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,0BAA0B,IAAI,IAAI;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,mBAAmB,IAAI,IAAI;CACrC"}