@futdevpro/nts-dynamo 1.5.30 → 1.5.32

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 (198) hide show
  1. package/lib/_constants/dynamo-nts-global.settings.d.ts +3 -0
  2. package/lib/_constants/dynamo-nts-global.settings.d.ts.map +1 -0
  3. package/lib/_constants/dynamo-nts-global.settings.js +13 -0
  4. package/lib/_constants/dynamo-nts-global.settings.js.map +1 -0
  5. package/lib/_constants/index.d.ts +1 -1
  6. package/lib/_constants/index.d.ts.map +1 -1
  7. package/lib/_constants/index.js +1 -1
  8. package/lib/_constants/index.js.map +1 -1
  9. package/lib/_enums/dynamo-nts-data-service-function.enum.d.ts +8 -0
  10. package/lib/_enums/dynamo-nts-data-service-function.enum.d.ts.map +1 -0
  11. package/lib/_enums/dynamo-nts-data-service-function.enum.js +15 -0
  12. package/lib/_enums/dynamo-nts-data-service-function.enum.js.map +1 -0
  13. package/lib/_enums/dynamo-nts-route-security.enum.d.ts +6 -0
  14. package/lib/_enums/dynamo-nts-route-security.enum.d.ts.map +1 -0
  15. package/lib/_enums/dynamo-nts-route-security.enum.js +10 -0
  16. package/lib/_enums/dynamo-nts-route-security.enum.js.map +1 -0
  17. package/lib/_enums/index.d.ts +2 -2
  18. package/lib/_enums/index.d.ts.map +1 -1
  19. package/lib/_enums/index.js +2 -2
  20. package/lib/_enums/index.js.map +1 -1
  21. package/lib/_models/dynamo-module-settings.d.ts +0 -6
  22. package/lib/_models/dynamo-module-settings.d.ts.map +1 -1
  23. package/lib/_models/dynamo-module-settings.js +9 -2
  24. package/lib/_models/dynamo-module-settings.js.map +1 -1
  25. package/lib/_models/dynamo-nts-api-call-params.d.ts +37 -0
  26. package/lib/_models/dynamo-nts-api-call-params.d.ts.map +1 -0
  27. package/lib/_models/dynamo-nts-api-call-params.js +29 -0
  28. package/lib/_models/dynamo-nts-api-call-params.js.map +1 -0
  29. package/lib/_models/dynamo-nts-app-params.d.ts +18 -0
  30. package/lib/_models/dynamo-nts-app-params.d.ts.map +1 -0
  31. package/lib/_models/dynamo-nts-app-params.js +17 -0
  32. package/lib/_models/dynamo-nts-app-params.js.map +1 -0
  33. package/lib/_models/dynamo-nts-endpoint-params.d.ts +46 -0
  34. package/lib/_models/dynamo-nts-endpoint-params.d.ts.map +1 -0
  35. package/lib/_models/dynamo-nts-endpoint-params.js +117 -0
  36. package/lib/_models/dynamo-nts-endpoint-params.js.map +1 -0
  37. package/lib/_models/dynamo-nts-global-settings.d.ts +13 -0
  38. package/lib/_models/dynamo-nts-global-settings.d.ts.map +1 -0
  39. package/lib/_models/dynamo-nts-global-settings.js +3 -0
  40. package/lib/_models/dynamo-nts-global-settings.js.map +1 -0
  41. package/lib/_models/index.d.ts +4 -4
  42. package/lib/_models/index.d.ts.map +1 -1
  43. package/lib/_models/index.js +4 -5
  44. package/lib/_models/index.js.map +1 -1
  45. package/lib/_modules/api-service.index.d.ts +3 -3
  46. package/lib/_modules/api-service.index.d.ts.map +1 -1
  47. package/lib/_modules/api-service.index.js +3 -3
  48. package/lib/_modules/api-service.index.js.map +1 -1
  49. package/lib/_modules/app.index.d.ts +9 -9
  50. package/lib/_modules/app.index.d.ts.map +1 -1
  51. package/lib/_modules/app.index.js +9 -9
  52. package/lib/_modules/app.index.js.map +1 -1
  53. package/lib/_modules/auth.index.d.ts +2 -2
  54. package/lib/_modules/auth.index.d.ts.map +1 -1
  55. package/lib/_modules/auth.index.js +2 -2
  56. package/lib/_modules/auth.index.js.map +1 -1
  57. package/lib/_modules/controller.index.d.ts +3 -3
  58. package/lib/_modules/controller.index.d.ts.map +1 -1
  59. package/lib/_modules/controller.index.js +3 -3
  60. package/lib/_modules/controller.index.js.map +1 -1
  61. package/lib/_modules/data-service.index.d.ts +4 -4
  62. package/lib/_modules/data-service.index.d.ts.map +1 -1
  63. package/lib/_modules/data-service.index.js +4 -4
  64. package/lib/_modules/data-service.index.js.map +1 -1
  65. package/lib/_modules/email.index.d.ts +2 -2
  66. package/lib/_modules/email.index.d.ts.map +1 -1
  67. package/lib/_modules/email.index.js +2 -2
  68. package/lib/_modules/email.index.js.map +1 -1
  69. package/lib/_modules/test/custom-data.service.d.ts +2 -2
  70. package/lib/_modules/test/custom-data.service.d.ts.map +1 -1
  71. package/lib/_modules/test/custom-data.service.js +2 -2
  72. package/lib/_modules/test/custom-data.service.js.map +1 -1
  73. package/lib/_modules/test/get-test-routing-module.d.ts +3 -3
  74. package/lib/_modules/test/get-test-routing-module.d.ts.map +1 -1
  75. package/lib/_modules/test/get-test-routing-module.js +2 -2
  76. package/lib/_modules/test/get-test-routing-module.js.map +1 -1
  77. package/lib/_modules/test/test-controller.d.ts +2 -2
  78. package/lib/_modules/test/test-controller.d.ts.map +1 -1
  79. package/lib/_modules/test/test-controller.js +10 -10
  80. package/lib/_modules/test/test-controller.js.map +1 -1
  81. package/lib/_modules/usage/get-usage-routing-module.d.ts +3 -3
  82. package/lib/_modules/usage/get-usage-routing-module.d.ts.map +1 -1
  83. package/lib/_modules/usage/get-usage-routing-module.js +2 -2
  84. package/lib/_modules/usage/get-usage-routing-module.js.map +1 -1
  85. package/lib/_modules/usage/usage-controller.d.ts +2 -2
  86. package/lib/_modules/usage/usage-controller.d.ts.map +1 -1
  87. package/lib/_modules/usage/usage-controller.js +10 -10
  88. package/lib/_modules/usage/usage-controller.js.map +1 -1
  89. package/lib/_modules/usage/usage.service.d.ts +2 -2
  90. package/lib/_modules/usage/usage.service.d.ts.map +1 -1
  91. package/lib/_modules/usage/usage.service.js +10 -10
  92. package/lib/_modules/usage/usage.service.js.map +1 -1
  93. package/lib/_services/dynamo-nts-api.service.d.ts +19 -0
  94. package/lib/_services/dynamo-nts-api.service.d.ts.map +1 -0
  95. package/lib/_services/dynamo-nts-api.service.js +167 -0
  96. package/lib/_services/dynamo-nts-api.service.js.map +1 -0
  97. package/lib/_services/dynamo-nts-app-extended.d.ts +23 -0
  98. package/lib/_services/dynamo-nts-app-extended.d.ts.map +1 -0
  99. package/lib/_services/dynamo-nts-app-extended.js +92 -0
  100. package/lib/_services/dynamo-nts-app-extended.js.map +1 -0
  101. package/lib/_services/dynamo-nts-app.d.ts +130 -0
  102. package/lib/_services/dynamo-nts-app.d.ts.map +1 -0
  103. package/lib/_services/dynamo-nts-app.js +238 -0
  104. package/lib/_services/dynamo-nts-app.js.map +1 -0
  105. package/lib/_services/dynamo-nts-auth.service.d.ts +54 -0
  106. package/lib/_services/dynamo-nts-auth.service.d.ts.map +1 -0
  107. package/lib/_services/dynamo-nts-auth.service.js +46 -0
  108. package/lib/_services/dynamo-nts-auth.service.js.map +1 -0
  109. package/lib/_services/dynamo-nts-controller.service.d.ts +14 -0
  110. package/lib/_services/dynamo-nts-controller.service.d.ts.map +1 -0
  111. package/lib/_services/dynamo-nts-controller.service.js +21 -0
  112. package/lib/_services/dynamo-nts-controller.service.js.map +1 -0
  113. package/lib/_services/dynamo-nts-data.service.d.ts +54 -0
  114. package/lib/_services/dynamo-nts-data.service.d.ts.map +1 -0
  115. package/lib/_services/dynamo-nts-data.service.js +301 -0
  116. package/lib/_services/dynamo-nts-data.service.js.map +1 -0
  117. package/lib/_services/dynamo-nts-db-service-collection.service.d.ts +9 -0
  118. package/lib/_services/dynamo-nts-db-service-collection.service.d.ts.map +1 -0
  119. package/lib/_services/dynamo-nts-db-service-collection.service.js +11 -0
  120. package/lib/_services/dynamo-nts-db-service-collection.service.js.map +1 -0
  121. package/lib/_services/dynamo-nts-db.service.d.ts +244 -0
  122. package/lib/_services/dynamo-nts-db.service.d.ts.map +1 -0
  123. package/lib/_services/dynamo-nts-db.service.js +759 -0
  124. package/lib/_services/dynamo-nts-db.service.js.map +1 -0
  125. package/lib/_services/dynamo-nts-email-service-collection.service.d.ts +19 -0
  126. package/lib/_services/dynamo-nts-email-service-collection.service.d.ts.map +1 -0
  127. package/lib/_services/dynamo-nts-email-service-collection.service.js +21 -0
  128. package/lib/_services/dynamo-nts-email-service-collection.service.js.map +1 -0
  129. package/lib/_services/dynamo-nts-email.service.d.ts +56 -0
  130. package/lib/_services/dynamo-nts-email.service.d.ts.map +1 -0
  131. package/lib/_services/dynamo-nts-email.service.js +194 -0
  132. package/lib/_services/dynamo-nts-email.service.js.map +1 -0
  133. package/lib/_services/dynamo-nts-global.service.d.ts +62 -0
  134. package/lib/_services/dynamo-nts-global.service.d.ts.map +1 -0
  135. package/lib/_services/dynamo-nts-global.service.js +107 -0
  136. package/lib/_services/dynamo-nts-global.service.js.map +1 -0
  137. package/lib/_services/dynamo-nts-routing-module.service.d.ts +42 -0
  138. package/lib/_services/dynamo-nts-routing-module.service.d.ts.map +1 -0
  139. package/lib/_services/dynamo-nts-routing-module.service.js +146 -0
  140. package/lib/_services/dynamo-nts-routing-module.service.js.map +1 -0
  141. package/lib/_services/dynamo-nts-shared.service.d.ts +26 -0
  142. package/lib/_services/dynamo-nts-shared.service.d.ts.map +1 -0
  143. package/lib/_services/dynamo-nts-shared.service.js +63 -0
  144. package/lib/_services/dynamo-nts-shared.service.js.map +1 -0
  145. package/lib/_services/dynamo-nts-singleton.service.d.ts +9 -0
  146. package/lib/_services/dynamo-nts-singleton.service.d.ts.map +1 -0
  147. package/lib/_services/dynamo-nts-singleton.service.js +19 -0
  148. package/lib/_services/dynamo-nts-singleton.service.js.map +1 -0
  149. package/lib/_services/dynamobe-db.service.js +1 -1
  150. package/lib/_services/dynamobe-email.service.js +1 -1
  151. package/lib/_services/index.d.ts +13 -13
  152. package/lib/_services/index.d.ts.map +1 -1
  153. package/lib/_services/index.js +13 -13
  154. package/lib/_services/index.js.map +1 -1
  155. package/lib/tsconfig.tsbuildinfo +1041 -365
  156. package/package.json +4 -7
  157. package/src/_constants/dynamo-nts-global.settings.ts +12 -0
  158. package/src/_constants/index.ts +1 -1
  159. package/src/_enums/{dynamobe-data-service-function.enum.ts → dynamo-nts-data-service-function.enum.ts} +1 -1
  160. package/src/_enums/{dynamobe-route-security.enum.ts → dynamo-nts-route-security.enum.ts} +1 -1
  161. package/src/_enums/index.ts +2 -2
  162. package/src/_models/dynamo-module-settings.ts +2 -2
  163. package/src/_models/{dynamobe-api-call-params.ts → dynamo-nts-api-call-params.ts} +1 -1
  164. package/src/_models/{dynamobe-app-params.ts → dynamo-nts-app-params.ts} +1 -1
  165. package/src/_models/{dynamobe-endpoint-params.ts → dynamo-nts-endpoint-params.ts} +20 -20
  166. package/src/_models/dynamo-nts-global-settings.ts +13 -0
  167. package/src/_models/index.ts +4 -5
  168. package/src/_modules/api-service.index.ts +3 -3
  169. package/src/_modules/app.index.ts +9 -9
  170. package/src/_modules/auth.index.ts +2 -2
  171. package/src/_modules/controller.index.ts +3 -3
  172. package/src/_modules/data-service.index.ts +4 -4
  173. package/src/_modules/email.index.ts +2 -2
  174. package/src/_modules/test/custom-data.service.ts +2 -2
  175. package/src/_modules/test/get-test-routing-module.ts +5 -5
  176. package/src/_modules/test/test-controller.ts +10 -10
  177. package/src/_modules/usage/get-usage-routing-module.ts +5 -5
  178. package/src/_modules/usage/usage-controller.ts +12 -12
  179. package/src/_modules/usage/usage.service.ts +11 -11
  180. package/src/_services/{dynamobe-api.service.ts → dynamo-nts-api.service.ts} +16 -16
  181. package/src/_services/dynamo-nts-app-extended.ts +124 -0
  182. package/src/_services/{dynamobe-app.ts → dynamo-nts-app.ts} +49 -49
  183. package/src/_services/{dynamobe-auth.service.ts → dynamo-nts-auth.service.ts} +5 -5
  184. package/src/_services/dynamo-nts-controller.service.ts +28 -0
  185. package/src/_services/{dynamobe-data.service.ts → dynamo-nts-data.service.ts} +29 -29
  186. package/src/_services/dynamo-nts-db-service-collection.service.ts +12 -0
  187. package/src/_services/{dynamobe-db.service.ts → dynamo-nts-db.service.ts} +33 -33
  188. package/src/_services/{dynamobe-email-service-collection.service.ts → dynamo-nts-email-service-collection.service.ts} +4 -4
  189. package/src/_services/{dynamobe-email.service.ts → dynamo-nts-email.service.ts} +16 -16
  190. package/src/_services/{dynamobe-global.service.ts → dynamo-nts-global.service.ts} +27 -27
  191. package/src/_services/{dynamobe-routing-module.service.ts → dynamo-nts-routing-module.service.ts} +30 -30
  192. package/src/_services/{dynamobe-shared.service.ts → dynamo-nts-shared.service.ts} +2 -2
  193. package/src/_services/{dynamobe-singleton.service.ts → dynamo-nts-singleton.service.ts} +1 -1
  194. package/src/_services/index.ts +13 -13
  195. package/src/_constants/dynamobe-global.settings.ts +0 -12
  196. package/src/_models/dynamobe-global-settings.ts +0 -13
  197. package/src/_services/dynamobe-controller.service.ts +0 -28
  198. package/src/_services/dynamobe-db-service-collection.service.ts +0 -12
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoNTS_App = 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 dynamo_nts_shared_service_1 = require("./dynamo-nts-shared.service");
11
+ const dynamo_nts_singleton_service_1 = require("./dynamo-nts-singleton.service");
12
+ const dynamo_nts_route_security_enum_1 = require("../_enums/dynamo-nts-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 DynamoNTS_App extends dynamo_nts_singleton_service_1.DynamoNTS_SingletonService {
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.dynamoNTS_GlobalSettings.logSetup;
33
+ this.setupRoutingModules();
34
+ this.setSecurity();
35
+ if (0 < this.routingModules.length) {
36
+ this.initExpresses();
37
+ this.startExpresses();
38
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
39
+ this.mountOpenRoutes();
40
+ }
41
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.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
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError('\nApplication start failed.\n', error);
50
+ }
51
+ }
52
+ /**
53
+ *
54
+ */
55
+ startDB() {
56
+ this.mongoose.connection
57
+ .on('error', (error) => {
58
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError('\nUnable to connect to MongoDB server, ERROR: ', error);
59
+ })
60
+ .once('open', () => {
61
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logSuccess('\nConnected to MongoDB\n');
62
+ });
63
+ this.mongoose.connect(this.params.dbUri);
64
+ }
65
+ /**
66
+ *
67
+ */
68
+ initExpresses() {
69
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
70
+ if (!this.httpPort) {
71
+ let errorMsg = `\nYou have open routes, but httpPort is not set!` +
72
+ `\nsecurity: ${this.security}` +
73
+ `\nset httpPort in DynamoBEServer - setupRoutingModules() to enable secure routes.`;
74
+ errorMsg += '\n\nThe routes setted to use open server:';
75
+ this.routingModules.forEach((module) => {
76
+ if (module.security != dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
77
+ errorMsg += `\n ${module.route} (security: ${module.security}) \n subroutes using open sever:`;
78
+ module.endpoints.forEach((endpoint) => {
79
+ if (endpoint.security != dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
80
+ errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;
81
+ }
82
+ });
83
+ }
84
+ });
85
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(errorMsg);
86
+ let error = new Error('Open routes cannot be established!');
87
+ let errorStack = error.stack.split('\n');
88
+ errorStack.splice(1, 2);
89
+ error.stack = errorStack.join('\n');
90
+ throw error;
91
+ }
92
+ this.initOpenExpress();
93
+ }
94
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.open) {
95
+ if (!this.cert || !this.httpsPort) {
96
+ let errorMsg = `\nYou have secure routes, but the certification paths or httpsPort are not set!` +
97
+ `\nsecurity: ${this.security}` +
98
+ `\nset...` +
99
+ `\n httpsPort and` +
100
+ `\n cert: {` +
101
+ `\n keyPath: FileSystem.PathLike,` +
102
+ `\n certPath: FileSystem.PathLike,` +
103
+ `\n }` +
104
+ `\nin DynamoBEServer - setupRoutingModules() to enable secure routes.`;
105
+ errorMsg += '\n\nThe routes setted to use secure server:';
106
+ this.routingModules.forEach((module) => {
107
+ if (module.security != dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.open) {
108
+ errorMsg += `\n ${module.route} (security: ${module.security}) \n subroutes using secure sever:`;
109
+ module.endpoints.forEach((endpoint) => {
110
+ if (endpoint.security != dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.open) {
111
+ errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;
112
+ }
113
+ });
114
+ }
115
+ });
116
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(errorMsg);
117
+ let error = new Error('Secure routes cannot be established!');
118
+ let errorStack = error.stack.split('\n');
119
+ errorStack.splice(1, 2);
120
+ error.stack = errorStack.join('\n');
121
+ throw error;
122
+ }
123
+ this.initSecureExpress();
124
+ }
125
+ }
126
+ /**
127
+ *
128
+ */
129
+ initOpenExpress() {
130
+ this.openExpress = Express();
131
+ this.openExpress.use(BodyParser.urlencoded({ limit: '50mb', extended: true }));
132
+ this.openExpress.use(BodyParser.json({ limit: '50mb' }));
133
+ }
134
+ /**
135
+ *
136
+ */
137
+ initSecureExpress() {
138
+ this.secureExpress = Express();
139
+ this.secureExpress.use(BodyParser.urlencoded({ limit: '50mb', extended: true }));
140
+ this.secureExpress.use(BodyParser.json({ limit: '50mb' }));
141
+ const options = {
142
+ key: FileSystem.readFileSync(this.cert.keyPath),
143
+ cert: FileSystem.readFileSync(this.cert.certPath),
144
+ };
145
+ this.httpsServer = Https.createServer(options, this.secureExpress);
146
+ }
147
+ /**
148
+ *
149
+ */
150
+ startExpresses() {
151
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
152
+ try {
153
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.open) {
154
+ this.httpsServer
155
+ .listen(this.httpsPort, 'localhost', 0, () => {
156
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logSuccess(`\nHTTPS (secure) server is listening on port ${this.httpsPort}\n`);
157
+ })
158
+ .on('error', (error) => {
159
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`\nHTTPS (secure) server ERROR`, error);
160
+ })
161
+ .on('uncaughtException', (ex) => {
162
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logWarning(`\nHTTPS (secure) server uncaughtException`, ex);
163
+ });
164
+ }
165
+ if (this.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
166
+ this.openExpress
167
+ .listen(this.httpPort, () => {
168
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logSuccess(`\nHTTP (-open-) server is listening on port ${this.httpPort}\n`);
169
+ })
170
+ .on('error', (error) => {
171
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`\nHTTP (-open-) server ERROR`, error);
172
+ })
173
+ .on('uncaughtException', (ex) => {
174
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logWarning(`\nHTTP (-open-) server uncaughtException`, ex);
175
+ });
176
+ }
177
+ }
178
+ catch (error) {
179
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`startExpresses failed...`, error);
180
+ }
181
+ });
182
+ }
183
+ /**
184
+ *
185
+ */
186
+ mountSecureRoutes() {
187
+ this.routingModules.forEach((module) => {
188
+ if (module.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.open) {
189
+ if (this.log)
190
+ console.log(`route mount (secure): ${module.route}`);
191
+ const existingRoutes = this.routingModules.filter((mod) => mod.route === module.route);
192
+ if (1 < existingRoutes.length) {
193
+ let error = new Error(`ROUTE DUPLICATION: ${module.route}`);
194
+ let errorStack = error.stack.split('\n');
195
+ errorStack.splice(1, 4);
196
+ error.stack = errorStack.join('\n');
197
+ throw error;
198
+ }
199
+ this.secureExpress.use(module.route, module.secureRouter);
200
+ }
201
+ });
202
+ }
203
+ /**
204
+ *
205
+ */
206
+ mountOpenRoutes() {
207
+ this.routingModules.forEach((module) => {
208
+ if (module.security !== dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.secure) {
209
+ if (this.log)
210
+ console.log(`route mount (open): ${module.route}`);
211
+ const existingRoutes = this.routingModules.filter((mod) => mod.route === module.route);
212
+ if (1 < existingRoutes.length) {
213
+ let error = new Error(`ROUTE DUPLICATION: ${module.route}`);
214
+ let errorStack = error.stack.split('\n');
215
+ errorStack.splice(1, 4);
216
+ error.stack = errorStack.join('\n');
217
+ throw error;
218
+ }
219
+ this.openExpress.use(module.route, module.openRouter);
220
+ }
221
+ });
222
+ }
223
+ /**
224
+ *
225
+ */
226
+ setSecurity() {
227
+ this.routingModules.forEach((module) => {
228
+ if (!this.security) {
229
+ this.security = module.security;
230
+ }
231
+ else if (this.security !== module.security) {
232
+ this.security = dynamo_nts_route_security_enum_1.DynamoNTS_RouteSecurity.both;
233
+ }
234
+ });
235
+ }
236
+ }
237
+ exports.DynamoNTS_App = DynamoNTS_App;
238
+ //# sourceMappingURL=dynamo-nts-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-app.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { NextFunction, Request, Response } from 'express';
2
+ import { DynamoNTS_SingletonService } from './dynamo-nts-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 DynamoNTS_AuthService extends DynamoNTS_SingletonService {
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
+ /**
26
+ *
27
+ * @param req
28
+ * @param res
29
+ * @param next
30
+ */
31
+ abstract authenticateTokenSelf(req: Request, res: Response, next: NextFunction): Promise<void>;
32
+ /**
33
+ *
34
+ */
35
+ abstract authenticateToken(req: Request, res: Response, next: NextFunction): Promise<void>;
36
+ /**
37
+ * Authenticate Token for Permission to Access UsageData
38
+ * @param req
39
+ * @param res
40
+ * @param next
41
+ */
42
+ abstract authTokenPermAccUsageData(req: Request, res: Response, next: NextFunction): Promise<void>;
43
+ /**
44
+ * The DynamoBE System is using this to get issuer, that will be set on DBServices
45
+ * @param req
46
+ */
47
+ abstract getAccountIdFromRequest(req: Request): string;
48
+ /**
49
+ *
50
+ * @param req
51
+ */
52
+ abstract getUsernameFromRequest(req: Request): string;
53
+ }
54
+ //# sourceMappingURL=dynamo-nts-auth.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-auth.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,8BAAsB,qBAAsB,SAAQ,0BAA0B;IAE5E;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAkBhD;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9F;;OAEG;IACH,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;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CACtD"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoNTS_AuthService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const dynamo_nts_singleton_service_1 = require("./dynamo-nts-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 DynamoNTS_AuthService extends dynamo_nts_singleton_service_1.DynamoNTS_SingletonService {
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.DynamoNTS_Error({
31
+ message: 'AuthHeader missing!',
32
+ userMessage: `We encountered a BackEnd Auth Error, please contact the responsible development team. errorcode: 007-636-500`,
33
+ });
34
+ }
35
+ const token = authHeader.split(' ')[1];
36
+ if (!token) {
37
+ throw new fsm_dynamo_1.DynamoNTS_Error({
38
+ message: 'Token missing!',
39
+ userMessage: `We encountered a BackEnd Auth Error, please contact the responsible development team. errorcode: 007-636-501`,
40
+ });
41
+ }
42
+ return token;
43
+ }
44
+ }
45
+ exports.DynamoNTS_AuthService = DynamoNTS_AuthService;
46
+ //# sourceMappingURL=dynamo-nts-auth.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-auth.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-auth.service.ts"],"names":[],"mappings":";;;AAEA,sDAAwD;AAExD,iFAA4E;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAsB,qBAAsB,SAAQ,yDAA0B;IAE5E;;;;;;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,4BAAe,CAAC;gBACxB,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,8GAA8G;aAC5H,CAAC,CAAC;SACJ;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,4BAAe,CAAC;gBACxB,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,8GAA8G;aAC5H,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAgCF;AAzDD,sDAyDC"}
@@ -0,0 +1,14 @@
1
+ import { DynamoNTS_EndpointParams } from '../_models/dynamo-nts-endpoint-params';
2
+ import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
3
+ /**
4
+ *
5
+ */
6
+ export declare abstract class DynamoNTS_Controller extends DynamoNTS_SingletonService {
7
+ endpoints: DynamoNTS_EndpointParams[];
8
+ protected constructor();
9
+ /**
10
+ * You must setup endpoints and required services in this function
11
+ */
12
+ abstract setupEndpoints(): void;
13
+ }
14
+ //# sourceMappingURL=dynamo-nts-controller.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-controller.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-controller.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;GAEG;AACH,8BAAsB,oBAAqB,SAAQ,0BAA0B;IAE3E,SAAS,EAAE,wBAAwB,EAAE,CAAC;IAEtC,SAAS;IAUT;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,IAAI;CAChC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoNTS_Controller = void 0;
4
+ const dynamo_nts_shared_service_1 = require("./dynamo-nts-shared.service");
5
+ const dynamo_nts_singleton_service_1 = require("./dynamo-nts-singleton.service");
6
+ /**
7
+ *
8
+ */
9
+ class DynamoNTS_Controller extends dynamo_nts_singleton_service_1.DynamoNTS_SingletonService {
10
+ constructor() {
11
+ super();
12
+ try {
13
+ this.setupEndpoints();
14
+ }
15
+ catch (error) {
16
+ dynamo_nts_shared_service_1.DynamoNTS_Shared.logError(`DynamoBEController ERROR setup failed:`, error);
17
+ }
18
+ }
19
+ }
20
+ exports.DynamoNTS_Controller = DynamoNTS_Controller;
21
+ //# sourceMappingURL=dynamo-nts-controller.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-controller.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-controller.service.ts"],"names":[],"mappings":";;;AAGA,2EAA+D;AAC/D,iFAA4E;AAE5E;;GAEG;AACH,MAAsB,oBAAqB,SAAQ,yDAA0B;IAI3E;QACE,KAAK,EAAE,CAAC;QAER,IAAI;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,4CAAgB,CAAC,QAAQ,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;SAC5E;IACH,CAAC;CAMF;AAlBD,oDAkBC"}
@@ -0,0 +1,54 @@
1
+ import { Metadata, DynamoNTS_DataParams } from '@futdevpro/fsm-dynamo';
2
+ import { DynamoNTS_DBService } from './dynamo-nts-db.service';
3
+ export declare class DynamoNTS_DataService<T extends Metadata> {
4
+ dataDBService: DynamoNTS_DBService<T>;
5
+ data: T;
6
+ dataList: T[];
7
+ issuer?: string;
8
+ depKey?: string;
9
+ depDBServiceKey?: string;
10
+ dataParams: DynamoNTS_DataParams;
11
+ constructor(data: T, dataParams: DynamoNTS_DataParams, 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(id?: string, dontSetToService?: boolean): Promise<T>;
20
+ /**
21
+ * returns data from database by dependencyId to the service
22
+ * @param dependencyId
23
+ */
24
+ getDataByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T>;
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
+ /**
49
+ *
50
+ * @returns
51
+ */
52
+ getDependencyDataDBService(): DynamoNTS_DBService<any>;
53
+ }
54
+ //# sourceMappingURL=dynamo-nts-data.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamo-nts-data.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-data.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAiD,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,qBAAa,qBAAqB,CAAC,CAAC,SAAS,QAAQ;IACnD,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACtC,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;IAGzB,UAAU,EAAE,oBAAoB,CAAC;gBAG/B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,oBAAoB,EAChC,MAAM,CAAC,EAAE,MAAM;IAUjB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7B;;OAEG;IACG,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BtE;;;OAGG;IACG,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAmC1F;;;OAGG;IACG,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrE;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAUrC;;;OAGG;IACH,0BAA0B,IAAI,mBAAmB,CAAC,GAAG,CAAC;CAWvD"}