@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,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEApp = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Mongoose = require("mongoose");
6
+ const Express = require("express");
7
+ const Https = tslib_1.__importStar(require("https"));
8
+ const FileSystem = tslib_1.__importStar(require("fs"));
9
+ const BodyParser = tslib_1.__importStar(require("body-parser"));
10
+ const dynamobe_shared_service_1 = require("./dynamobe-shared.service");
11
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
12
+ const dynamobe_route_security_enum_1 = require("../_enums/dynamobe-route-security.enum");
13
+ const _constants_1 = require("../_constants");
14
+ /**
15
+ * This will be the main service of our server project,
16
+ * follow the types and type instructions while setting up your project
17
+ *
18
+ * In this service, there are abstract functions that you will need to implement,
19
+ * where you need to set up the main params for your application.
20
+ */
21
+ class DynamoBEApp extends dynamobe_singleton_service_1.DynamoBESingletonService {
22
+ constructor() {
23
+ super();
24
+ this.mongoose = Mongoose;
25
+ try {
26
+ this.setupAppParams();
27
+ console.log(`\n\n\nStarting ${this.params.name}... \nVersion: ${this.params.version}`);
28
+ if (this.params.title)
29
+ console.log(this.params.title);
30
+ this.startDB();
31
+ this.setGlobalServiceCollection();
32
+ this.log = _constants_1.dynamoBEGlobalSettings.logSetup;
33
+ this.setupRoutingModules();
34
+ this.setSecurity();
35
+ if (0 < this.routingModules.length) {
36
+ this.initExpresses();
37
+ this.startExpresses();
38
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
39
+ this.mountOpenRoutes();
40
+ }
41
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.open && this.cert) {
42
+ this.mountSecureRoutes();
43
+ }
44
+ if (this.log)
45
+ console.log(`\nRoutes mounted.... server using security: ${this.security}`);
46
+ }
47
+ }
48
+ catch (error) {
49
+ dynamobe_shared_service_1.DBE_Shared.logError('\nApplication start failed.\n', error);
50
+ }
51
+ }
52
+ startDB() {
53
+ this.mongoose.connection
54
+ .on('error', (error) => {
55
+ dynamobe_shared_service_1.DBE_Shared.logError('\nUnable to connect to MongoDB server, ERROR: ', error);
56
+ })
57
+ .once('open', () => {
58
+ dynamobe_shared_service_1.DBE_Shared.logSuccess('\nConnected to MongoDB\n');
59
+ });
60
+ this.mongoose.connect(this.params.dbUri, {
61
+ useNewUrlParser: true,
62
+ useUnifiedTopology: true
63
+ });
64
+ }
65
+ initExpresses() {
66
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
67
+ if (!this.httpPort) {
68
+ let errorMsg = `\nYou have open routes, but httpPort is not set!` +
69
+ `\nsecurity: ${this.security}` +
70
+ `\nset httpPort in DynamoBEServer - setupRoutingModules() to enable secure routes.`;
71
+ errorMsg += '\n\nThe routes setted to use open server:';
72
+ this.routingModules.forEach((module) => {
73
+ if (module.security != dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
74
+ errorMsg += `\n ${module.route} (security: ${module.security}) \n subroutes using open sever:`;
75
+ module.endpoints.forEach((endpoint) => {
76
+ if (endpoint.security != dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
77
+ errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;
78
+ }
79
+ });
80
+ }
81
+ });
82
+ dynamobe_shared_service_1.DBE_Shared.logError(errorMsg);
83
+ let error = new Error('Open routes cannot be established!');
84
+ let errorStack = error.stack.split('\n');
85
+ errorStack.splice(1, 2);
86
+ error.stack = errorStack.join('\n');
87
+ throw error;
88
+ }
89
+ this.initOpenExpress();
90
+ }
91
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.open) {
92
+ if (!this.cert || !this.httpsPort) {
93
+ let errorMsg = `\nYou have secure routes, but the certification paths or httpsPort are not set!` +
94
+ `\nsecurity: ${this.security}` +
95
+ `\nset...` +
96
+ `\n httpsPort and` +
97
+ `\n cert: {` +
98
+ `\n keyPath: FileSystem.PathLike,` +
99
+ `\n certPath: FileSystem.PathLike,` +
100
+ `\n }` +
101
+ `\nin DynamoBEServer - setupRoutingModules() to enable secure routes.`;
102
+ errorMsg += '\n\nThe routes setted to use secure server:';
103
+ this.routingModules.forEach((module) => {
104
+ if (module.security != dynamobe_route_security_enum_1.DynamoBERouteSecurity.open) {
105
+ errorMsg += `\n ${module.route} (security: ${module.security}) \n subroutes using secure sever:`;
106
+ module.endpoints.forEach((endpoint) => {
107
+ if (endpoint.security != dynamobe_route_security_enum_1.DynamoBERouteSecurity.open) {
108
+ errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;
109
+ }
110
+ });
111
+ }
112
+ });
113
+ dynamobe_shared_service_1.DBE_Shared.logError(errorMsg);
114
+ let error = new Error('Secure routes cannot be established!');
115
+ let errorStack = error.stack.split('\n');
116
+ errorStack.splice(1, 2);
117
+ error.stack = errorStack.join('\n');
118
+ throw error;
119
+ }
120
+ this.initSecureExpress();
121
+ }
122
+ }
123
+ initOpenExpress() {
124
+ this.openExpress = Express();
125
+ this.openExpress.use(BodyParser.urlencoded({ limit: '50mb', extended: true }));
126
+ this.openExpress.use(BodyParser.json({ limit: '50mb' }));
127
+ }
128
+ initSecureExpress() {
129
+ this.secureExpress = Express();
130
+ this.secureExpress.use(BodyParser.urlencoded({ limit: '50mb', extended: true }));
131
+ this.secureExpress.use(BodyParser.json({ limit: '50mb' }));
132
+ const options = {
133
+ key: FileSystem.readFileSync(this.cert.keyPath),
134
+ cert: FileSystem.readFileSync(this.cert.certPath),
135
+ };
136
+ this.httpsServer = Https.createServer(options, this.secureExpress);
137
+ }
138
+ startExpresses() {
139
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
140
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.open) {
141
+ this.httpsServer
142
+ .listen(this.httpsPort, 'localhost', 0, () => {
143
+ dynamobe_shared_service_1.DBE_Shared.logSuccess(`\nHTTPS (secure) server is listening on port ${this.httpsPort}\n`);
144
+ })
145
+ .on('error', (error) => {
146
+ dynamobe_shared_service_1.DBE_Shared.logError(`\nhttps (secure) server ERROR`, error);
147
+ })
148
+ .on('uncaughtException', (ex) => {
149
+ dynamobe_shared_service_1.DBE_Shared.logWarning(`\nhttps (secure) server uncaughtException`, ex);
150
+ });
151
+ }
152
+ if (this.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
153
+ this.openExpress
154
+ .listen(this.httpPort, () => {
155
+ dynamobe_shared_service_1.DBE_Shared.logSuccess(`\nHTTP (-open-) server is listening on port ${this.httpPort}\n`);
156
+ })
157
+ .on('error', (error) => {
158
+ dynamobe_shared_service_1.DBE_Shared.logError(`\nhttp (-open-) server ERROR`, error);
159
+ })
160
+ .on('uncaughtException', (ex) => {
161
+ dynamobe_shared_service_1.DBE_Shared.logWarning(`\nhttp (-open-) server uncaughtException`, ex);
162
+ });
163
+ }
164
+ });
165
+ }
166
+ mountSecureRoutes() {
167
+ this.routingModules.forEach((module) => {
168
+ if (module.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.open) {
169
+ if (this.log)
170
+ console.log(`route mount (secure): ${module.route}`);
171
+ const existingRoutes = this.routingModules.filter((mod) => mod.route === module.route);
172
+ if (1 < existingRoutes.length) {
173
+ let error = new Error(`ROUTE DUPLICATION: ${module.route}`);
174
+ let errorStack = error.stack.split('\n');
175
+ errorStack.splice(1, 4);
176
+ error.stack = errorStack.join('\n');
177
+ throw error;
178
+ }
179
+ this.secureExpress.use(module.route, module.secureRouter);
180
+ }
181
+ });
182
+ }
183
+ mountOpenRoutes() {
184
+ this.routingModules.forEach((module) => {
185
+ if (module.security !== dynamobe_route_security_enum_1.DynamoBERouteSecurity.secure) {
186
+ if (this.log)
187
+ console.log(`route mount (open): ${module.route}`);
188
+ const existingRoutes = this.routingModules.filter((mod) => mod.route === module.route);
189
+ if (1 < existingRoutes.length) {
190
+ let error = new Error(`ROUTE DUPLICATION: ${module.route}`);
191
+ let errorStack = error.stack.split('\n');
192
+ errorStack.splice(1, 4);
193
+ error.stack = errorStack.join('\n');
194
+ throw error;
195
+ }
196
+ this.openExpress.use(module.route, module.openRouter);
197
+ }
198
+ });
199
+ }
200
+ setSecurity() {
201
+ this.routingModules.forEach((module) => {
202
+ if (!this.security) {
203
+ this.security = module.security;
204
+ }
205
+ else if (this.security !== module.security) {
206
+ this.security = dynamobe_route_security_enum_1.DynamoBERouteSecurity.both;
207
+ }
208
+ });
209
+ }
210
+ }
211
+ exports.DynamoBEApp = DynamoBEApp;
212
+ //# sourceMappingURL=dynamobe-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-app.js","sourceRoot":"","sources":["../../src/_services/dynamobe-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { NextFunction, Request, Response } from 'express';
2
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
3
+ /**
4
+ * Extend this class as an Auth Service implementation
5
+ *
6
+ * You should use singleton instance getting function by implementing a
7
+ * static getInstance() function
8
+ * @example
9
+ * export class AuthService extends DynamoBEAuthService {
10
+ *
11
+ * static getInstance(): AuthService {
12
+ * return AuthService.getSingletonInstance();
13
+ * }
14
+ * ...
15
+ */
16
+ export declare abstract class DynamoBEAuthService extends DynamoBESingletonService {
17
+ /**
18
+ * this function returns the 'authorization' header from the Request,
19
+ * or throws error, if its missing
20
+ *
21
+ * @param req
22
+ * @returns
23
+ */
24
+ static getTokenFromRequest(req: Request): string;
25
+ abstract authenticateTokenSelf(req: Request, res: Response, next: NextFunction): Promise<void>;
26
+ abstract authenticateToken(req: Request, res: Response, next: NextFunction): Promise<void>;
27
+ /**
28
+ * Authenticate Token for Permission to Access UsageData
29
+ * @param req
30
+ * @param res
31
+ * @param next
32
+ */
33
+ abstract authTokenPermAccUsageData(req: Request, res: Response, next: NextFunction): Promise<void>;
34
+ /**
35
+ * The DynamoBE System is using this to get issuer, that will be set on DBServices
36
+ * @param req
37
+ */
38
+ abstract getAccountIdFromRequest(req: Request): string;
39
+ abstract getUsernameFromRequest(req: Request): string;
40
+ }
41
+ //# sourceMappingURL=dynamobe-auth.service.d.ts.map
@@ -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;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,8BAAsB,mBAAoB,SAAQ,wBAAwB;IAExE;;;;;;OAMG;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,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEAuthService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
6
+ /**
7
+ * Extend this class as an Auth Service implementation
8
+ *
9
+ * You should use singleton instance getting function by implementing a
10
+ * static getInstance() function
11
+ * @example
12
+ * export class AuthService extends DynamoBEAuthService {
13
+ *
14
+ * static getInstance(): AuthService {
15
+ * return AuthService.getSingletonInstance();
16
+ * }
17
+ * ...
18
+ */
19
+ class DynamoBEAuthService extends dynamobe_singleton_service_1.DynamoBESingletonService {
20
+ /**
21
+ * this function returns the 'authorization' header from the Request,
22
+ * or throws error, if its missing
23
+ *
24
+ * @param req
25
+ * @returns
26
+ */
27
+ static getTokenFromRequest(req) {
28
+ const authHeader = req.headers['authorization'];
29
+ if (!authHeader) {
30
+ throw new fsm_dynamo_1.DynamoBEError({ message: 'AuthHeader missing!' });
31
+ }
32
+ const token = authHeader.split(' ')[1];
33
+ if (!token) {
34
+ throw new fsm_dynamo_1.DynamoBEError({ message: 'Token missing!' });
35
+ }
36
+ return token;
37
+ }
38
+ }
39
+ exports.DynamoBEAuthService = DynamoBEAuthService;
40
+ //# sourceMappingURL=dynamobe-auth.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-auth.service.js","sourceRoot":"","sources":["../../src/_services/dynamobe-auth.service.ts"],"names":[],"mappings":";;;AAEA,sDAAsD;AAEtD,6EAAwE;AAExE;;;;;;;;;;;;GAYG;AACH,MAAsB,mBAAoB,SAAQ,qDAAwB;IAExE;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAY;QACrC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,0BAAa,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;SAC7D;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,0BAAa,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;SACxD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAmBF;AAtCD,kDAsCC"}
@@ -0,0 +1,11 @@
1
+ import { DynamoBEEndpointParams } from '../_models/dynamobe-endpoint-params';
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
+ }
11
+ //# sourceMappingURL=dynamobe-controller.service.d.ts.map
@@ -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,qCAAqC,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8BAAsB,kBAAmB,SAAQ,wBAAwB;IAEvE,SAAS,EAAE,sBAAsB,EAAE,CAAC;IAEpC,SAAS;IAUT;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,IAAI;CAChC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEController = void 0;
4
+ const dynamobe_shared_service_1 = require("./dynamobe-shared.service");
5
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
6
+ class DynamoBEController extends dynamobe_singleton_service_1.DynamoBESingletonService {
7
+ constructor() {
8
+ super();
9
+ try {
10
+ this.setupEndpoints();
11
+ }
12
+ catch (error) {
13
+ dynamobe_shared_service_1.DBE_Shared.logError(`DynamoBEController ERROR setup failed:`, error);
14
+ }
15
+ }
16
+ }
17
+ exports.DynamoBEController = DynamoBEController;
18
+ //# sourceMappingURL=dynamobe-controller.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-controller.service.js","sourceRoot":"","sources":["../../src/_services/dynamobe-controller.service.ts"],"names":[],"mappings":";;;AAGA,uEAAuD;AACvD,6EAAwE;AAExE,MAAsB,kBAAmB,SAAQ,qDAAwB;IAIvE;QACE,KAAK,EAAE,CAAC;QAER,IAAI;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,oCAAU,CAAC,QAAQ,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;SACtE;IACH,CAAC;CAMF;AAlBD,gDAkBC"}
@@ -0,0 +1,50 @@
1
+ import { Metadata, DynamoBEDataPropertyParams, DynamoBEDataParams } from '@futdevpro/fsm-dynamo';
2
+ import { DynamoBEDBService } from './dynamobe-db.service';
3
+ export declare class DynamoBEDataService<T extends Metadata> {
4
+ dataDBService: DynamoBEDBService<T>;
5
+ data: T;
6
+ dataList: T[];
7
+ issuer?: string;
8
+ depKey?: string;
9
+ depDBServiceKey?: string;
10
+ dataModelParams?: DynamoBEDataPropertyParams[];
11
+ constructor(data: T, dataParams: DynamoBEDataParams, issuer?: string);
12
+ /**
13
+ * returns all data from database to service dataList
14
+ */
15
+ getAll(): Promise<void>;
16
+ /**
17
+ * returns data from database by id
18
+ */
19
+ getDataById(dontSetToService?: boolean): Promise<T>;
20
+ /**
21
+ * returns data from database by dependencyId to the service
22
+ * @param dependencyId
23
+ */
24
+ getDataByDependencyId(dependencyId?: string): Promise<void>;
25
+ /**
26
+ * returns dataList from database by dependencyId to the service
27
+ * @param dependencyId
28
+ */
29
+ getDataListByDependencyId(dependencyId?: string): Promise<void>;
30
+ /**
31
+ * modifies data if the data have ID and already exists in the DB,
32
+ * creates new if the ID is not present or cant find in DB,
33
+ * and if dependency data setted up, will check before creation
34
+ */
35
+ saveData(): Promise<void>;
36
+ /**
37
+ * permanently deletes data from database by data._id
38
+ */
39
+ deleteData(): Promise<void>;
40
+ /**
41
+ * validation of data, for modify and create, by the ModelParams
42
+ */
43
+ validateForSave(): Promise<void>;
44
+ /**
45
+ * setting up dependency dataHook by DynamoBEDataModelParams
46
+ */
47
+ private lookForDependencyDataSettings;
48
+ getDependencyDataDBService(): DynamoBEDBService<any>;
49
+ }
50
+ //# sourceMappingURL=dynamobe-data.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-data.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-data.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE,kBAAkB,EAChD,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,qBAAa,mBAAmB,CAAC,CAAC,SAAS,QAAQ;IACjD,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,CAAC,EAAE,CAAM;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAM;gBAGlD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,kBAAkB,EAC9B,MAAM,CAAC,EAAE,MAAM;IASjB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B;;OAEG;IACG,WAAW,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBzD;;;OAGG;IACG,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE;;;OAGG;IACG,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrE;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAUrC,0BAA0B,IAAI,iBAAiB,CAAC,GAAG,CAAC;CAOrD"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEDataService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const dynamobe_global_service_1 = require("./dynamobe-global.service");
7
+ class DynamoBEDataService {
8
+ constructor(data, dataParams, issuer) {
9
+ this.dataList = [];
10
+ this.dataModelParams = [];
11
+ this.dataDBService = dynamobe_global_service_1.DBE_Global_S.getDBService(dataParams);
12
+ this.data = data;
13
+ this.dataModelParams = dataParams.modelParams;
14
+ this.lookForDependencyDataSettings();
15
+ this.issuer = issuer;
16
+ }
17
+ /**
18
+ * returns all data from database to service dataList
19
+ */
20
+ getAll() {
21
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ try {
23
+ yield this.dataDBService.getAll().then((dataList) => {
24
+ this.dataList = dataList;
25
+ });
26
+ }
27
+ catch (error) {
28
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getAll was unsuccessful', error: error });
29
+ }
30
+ });
31
+ }
32
+ /**
33
+ * returns data from database by id
34
+ */
35
+ getDataById(dontSetToService) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ try {
38
+ if (this.data._id) {
39
+ let dataExists;
40
+ yield this.dataDBService.getDataById(this.data._id).then((data) => {
41
+ if (!dontSetToService) {
42
+ this.data = data;
43
+ }
44
+ dataExists = data;
45
+ });
46
+ return dataExists;
47
+ }
48
+ else {
49
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'ID is missing!' });
50
+ }
51
+ }
52
+ catch (error) {
53
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getDataById was unsuccessful', error: error });
54
+ }
55
+ });
56
+ }
57
+ /**
58
+ * returns data from database by dependencyId to the service
59
+ * @param dependencyId
60
+ */
61
+ getDataByDependencyId(dependencyId) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ try {
64
+ if (this.depKey) {
65
+ if (dependencyId || this.data[this.depKey]) {
66
+ yield this.dataDBService.getDataByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]).then((data) => {
67
+ this.data = data;
68
+ });
69
+ }
70
+ else {
71
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: `${this.depKey} is missing!` });
72
+ }
73
+ }
74
+ else {
75
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'dependencyDataIdKey is missing from service!' });
76
+ }
77
+ }
78
+ catch (error) {
79
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getDataByDependencyId was unsuccessful', error: error });
80
+ }
81
+ });
82
+ }
83
+ /**
84
+ * returns dataList from database by dependencyId to the service
85
+ * @param dependencyId
86
+ */
87
+ getDataListByDependencyId(dependencyId) {
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ try {
90
+ if (this.depKey) {
91
+ if (dependencyId || this.data[this.depKey]) {
92
+ yield this.dataDBService.getDataListByDependencyId(dependencyId ? dependencyId : this.data[this.depKey]).then((data) => {
93
+ this.dataList = data;
94
+ });
95
+ }
96
+ else {
97
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: `${this.depKey} is missing!` });
98
+ }
99
+ }
100
+ else {
101
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'dependencyDataIdKey is missing from service!' });
102
+ }
103
+ }
104
+ catch (error) {
105
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'getDataListByDependencyId was unsuccessful', error: error });
106
+ }
107
+ });
108
+ }
109
+ /**
110
+ * modifies data if the data have ID and already exists in the DB,
111
+ * creates new if the ID is not present or cant find in DB,
112
+ * and if dependency data setted up, will check before creation
113
+ */
114
+ saveData() {
115
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
116
+ try {
117
+ if (this.data._id) {
118
+ // check if already exists
119
+ let dataExists;
120
+ yield this.getDataById(true).then((data) => {
121
+ dataExists = data;
122
+ }).catch(() => { });
123
+ if (!dataExists) {
124
+ // if data not exists check that dependency already exists for this id
125
+ // !!!!!!!!!!!!!!!!!! only if have depKey????
126
+ yield this.getDependencyDataDBService().getDataById(this.data[this.depKey]);
127
+ // if data not exists create new data
128
+ yield this.dataDBService.createData(this.data, this.issuer).then((data) => {
129
+ this.data = data; // !!!!!!!!! this is somehow returns the old data on api
130
+ // !!!!!!!!!!!!!!!!! if not using await for saveData??
131
+ });
132
+ }
133
+ else {
134
+ // if data exists do modify
135
+ yield this.dataDBService.modifyData(this.data, this.issuer).then((data) => {
136
+ this.data = data; // !!!!!!!!! this is somehow returns the old data on api
137
+ // !!!!!!!!!!!!!!!!! if not using await for saveData??
138
+ });
139
+ }
140
+ }
141
+ else {
142
+ // if ID is not present, data not exists, create new data
143
+ yield this.dataDBService.createData(this.data, this.issuer).then((data) => {
144
+ this.data = data;
145
+ });
146
+ }
147
+ }
148
+ catch (error) {
149
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'modifyData was unsuccessful', error: error });
150
+ }
151
+ });
152
+ }
153
+ /**
154
+ * permanently deletes data from database by data._id
155
+ */
156
+ deleteData() {
157
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
158
+ try {
159
+ if (this.data._id) {
160
+ yield this.dataDBService.deleteDataById(this.data._id);
161
+ }
162
+ else {
163
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'ID is missing!' });
164
+ }
165
+ }
166
+ catch (error) {
167
+ throw new fsm_dynamo_1.DynamoBEError({ status: 417, message: 'deleteData was unsuccessful', error: error });
168
+ }
169
+ });
170
+ }
171
+ /**
172
+ * validation of data, for modify and create, by the ModelParams
173
+ */
174
+ validateForSave() {
175
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
176
+ try {
177
+ for (let i = 0; i < this.dataModelParams.length; i++) {
178
+ // basic required validations
179
+ if ((this.dataModelParams[i].required && (this.data[this.dataModelParams[i].key] === null || this.data[this.dataModelParams[i].key] === undefined)) ||
180
+ (this.dataModelParams[i].index && (this.data[this.dataModelParams[i].key] === null || this.data[this.dataModelParams[i].key] === undefined))) {
181
+ throw new fsm_dynamo_1.DynamoBEError({ status: 422, message: `${this.dataModelParams[i].key} is missing! (${this.dataModelParams[i].required ? 'required' : 'index'})` });
182
+ }
183
+ // specific Date validation
184
+ if (this.dataModelParams[i].type === 'Date' && !(new Date(this.data[this.dataModelParams[i].key]) instanceof Date)) {
185
+ throw new fsm_dynamo_1.DynamoBEError({ status: 422, message: `${this.dataModelParams[i].key} is not a date!` });
186
+ }
187
+ // call additional validators
188
+ if (this.dataModelParams[i].additionalValidators) {
189
+ for (let j = 0; j < this.dataModelParams[i].additionalValidators.length; j++) {
190
+ this.dataModelParams[i].additionalValidators[j](this.data[this.dataModelParams[i].key]);
191
+ }
192
+ }
193
+ }
194
+ }
195
+ catch (error) {
196
+ throw new fsm_dynamo_1.DynamoBEError({ status: 422, message: 'validateForSave was unsuccessful', error: error });
197
+ }
198
+ });
199
+ }
200
+ /**
201
+ * setting up dependency dataHook by DynamoBEDataModelParams
202
+ */
203
+ lookForDependencyDataSettings() {
204
+ const dependencyParam = this.dataModelParams.find((modelParams) => modelParams.isDependencyHook);
205
+ if (dependencyParam) {
206
+ this.depKey = dependencyParam.key;
207
+ if (dependencyParam.dependencyName) {
208
+ this.depDBServiceKey = dependencyParam.dependencyName;
209
+ }
210
+ }
211
+ }
212
+ getDependencyDataDBService() {
213
+ if (this.depDBServiceKey) {
214
+ return dynamobe_global_service_1.DBE_Global_S.getDBServiceCollection()[this.depDBServiceKey];
215
+ }
216
+ else {
217
+ throw new fsm_dynamo_1.DynamoBEError({ status: 501, message: 'getDependencyDataDBService was unsuccessful, service key not setted up!' });
218
+ }
219
+ }
220
+ }
221
+ exports.DynamoBEDataService = DynamoBEDataService;
222
+ //# sourceMappingURL=dynamobe-data.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-data.service.js","sourceRoot":"","sources":["../../src/_services/dynamobe-data.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DynamoBEDBService } from './dynamobe-db.service';
2
+ import { DynamoBESingletonService } from './dynamobe-singleton.service';
3
+ export declare class DynamoBEDBServiceCollection extends DynamoBESingletonService {
4
+ [service: string]: DynamoBEDBService<any>;
5
+ }
6
+ //# sourceMappingURL=dynamobe-db-service-collection.service.d.ts.map