@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.
- package/lib/_constants/dynamobe-global.settings.d.ts +3 -0
- package/lib/_constants/dynamobe-global.settings.d.ts.map +1 -0
- package/lib/_constants/dynamobe-global.settings.js +13 -0
- package/lib/_constants/dynamobe-global.settings.js.map +1 -0
- package/lib/_constants/index.d.ts +2 -0
- package/lib/_constants/index.d.ts.map +1 -0
- package/lib/_constants/index.js +5 -0
- package/lib/_constants/index.js.map +1 -0
- package/lib/_enums/data-model-type.enum.d.ts +6 -0
- package/lib/_enums/data-model-type.enum.d.ts.map +1 -0
- package/lib/_enums/data-model-type.enum.js +10 -0
- package/lib/_enums/data-model-type.enum.js.map +1 -0
- package/lib/_enums/dynamobe-data-service-function.enum.d.ts +8 -0
- package/lib/_enums/dynamobe-data-service-function.enum.d.ts.map +1 -0
- package/lib/_enums/dynamobe-data-service-function.enum.js +15 -0
- package/lib/_enums/dynamobe-data-service-function.enum.js.map +1 -0
- package/lib/_enums/dynamobe-route-security.enum.d.ts +6 -0
- package/lib/_enums/dynamobe-route-security.enum.d.ts.map +1 -0
- package/lib/_enums/dynamobe-route-security.enum.js +10 -0
- package/lib/_enums/dynamobe-route-security.enum.js.map +1 -0
- package/lib/_enums/http/http-call-type.enum.d.ts +8 -0
- package/lib/_enums/http/http-call-type.enum.d.ts.map +1 -0
- package/lib/_enums/http/http-call-type.enum.js +12 -0
- package/lib/_enums/http/http-call-type.enum.js.map +1 -0
- package/lib/_enums/http/http-response-type.enum.d.ts +7 -0
- package/lib/_enums/http/http-response-type.enum.d.ts.map +1 -0
- package/lib/_enums/http/http-response-type.enum.js +11 -0
- package/lib/_enums/http/http-response-type.enum.js.map +1 -0
- package/lib/_enums/index.d.ts +8 -0
- package/lib/_enums/index.d.ts.map +1 -0
- package/lib/_enums/index.js +39 -0
- package/lib/_enums/index.js.map +1 -0
- package/lib/_enums/log-style.enum.d.ts +26 -0
- package/lib/_enums/log-style.enum.d.ts.map +1 -0
- package/lib/_enums/log-style.enum.js +30 -0
- package/lib/_enums/log-style.enum.js.map +1 -0
- package/lib/_enums/predefined-data-types.enum.d.ts +8 -0
- package/lib/_enums/predefined-data-types.enum.d.ts.map +1 -0
- package/lib/_enums/predefined-data-types.enum.js +12 -0
- package/lib/_enums/predefined-data-types.enum.js.map +1 -0
- package/lib/_models/dynamo-module-settings.d.ts +7 -0
- package/lib/_models/dynamo-module-settings.d.ts.map +1 -0
- package/lib/_models/dynamo-module-settings.js +3 -0
- package/lib/_models/dynamo-module-settings.js.map +1 -0
- package/lib/_models/dynamobe-api-call-params.d.ts +35 -0
- package/lib/_models/dynamobe-api-call-params.d.ts.map +1 -0
- package/lib/_models/dynamobe-api-call-params.js +24 -0
- package/lib/_models/dynamobe-api-call-params.js.map +1 -0
- package/lib/_models/dynamobe-app-params.d.ts +15 -0
- package/lib/_models/dynamobe-app-params.d.ts.map +1 -0
- package/lib/_models/dynamobe-app-params.js +14 -0
- package/lib/_models/dynamobe-app-params.js.map +1 -0
- package/lib/_models/dynamobe-data-model-params.d.ts +13 -0
- package/lib/_models/dynamobe-data-model-params.d.ts.map +1 -0
- package/lib/_models/dynamobe-data-model-params.js +15 -0
- package/lib/_models/dynamobe-data-model-params.js.map +1 -0
- package/lib/_models/dynamobe-endpoint-params.d.ts +30 -0
- package/lib/_models/dynamobe-endpoint-params.d.ts.map +1 -0
- package/lib/_models/dynamobe-endpoint-params.js +101 -0
- package/lib/_models/dynamobe-endpoint-params.js.map +1 -0
- package/lib/_models/dynamobe-global-settings.d.ts +10 -0
- package/lib/_models/dynamobe-global-settings.d.ts.map +1 -0
- package/lib/_models/dynamobe-global-settings.js +3 -0
- package/lib/_models/dynamobe-global-settings.js.map +1 -0
- package/lib/_models/index.d.ts +6 -0
- package/lib/_models/index.d.ts.map +1 -0
- package/lib/_models/index.js +10 -0
- package/lib/_models/index.js.map +1 -0
- package/lib/_modules/api-service.index.d.ts +5 -0
- package/lib/_modules/api-service.index.d.ts.map +1 -0
- package/lib/_modules/api-service.index.js +11 -0
- package/lib/_modules/api-service.index.js.map +1 -0
- package/lib/_modules/app.index.d.ts +10 -0
- package/lib/_modules/app.index.d.ts.map +1 -0
- package/lib/_modules/app.index.js +17 -0
- package/lib/_modules/app.index.js.map +1 -0
- package/lib/_modules/auth.index.d.ts +3 -0
- package/lib/_modules/auth.index.d.ts.map +1 -0
- package/lib/_modules/auth.index.js +7 -0
- package/lib/_modules/auth.index.js.map +1 -0
- package/lib/_modules/controller.index.d.ts +5 -0
- package/lib/_modules/controller.index.d.ts.map +1 -0
- package/lib/_modules/controller.index.js +11 -0
- package/lib/_modules/controller.index.js.map +1 -0
- package/lib/_modules/data-service.index.d.ts +5 -0
- package/lib/_modules/data-service.index.d.ts.map +1 -0
- package/lib/_modules/data-service.index.js +9 -0
- package/lib/_modules/data-service.index.js.map +1 -0
- package/lib/_modules/test/custom-data.service.d.ts +6 -0
- package/lib/_modules/test/custom-data.service.d.ts.map +1 -0
- package/lib/_modules/test/custom-data.service.js +12 -0
- package/lib/_modules/test/custom-data.service.js.map +1 -0
- package/lib/_modules/test/get-test-routing-module.d.ts +4 -0
- package/lib/_modules/test/get-test-routing-module.d.ts.map +1 -0
- package/lib/_modules/test/get-test-routing-module.js +18 -0
- package/lib/_modules/test/get-test-routing-module.js.map +1 -0
- package/lib/_modules/test/index.d.ts +4 -0
- package/lib/_modules/test/index.d.ts.map +1 -0
- package/lib/_modules/test/index.js +8 -0
- package/lib/_modules/test/index.js.map +1 -0
- package/lib/_modules/test/test-controller.d.ts +6 -0
- package/lib/_modules/test/test-controller.d.ts.map +1 -0
- package/lib/_modules/test/test-controller.js +127 -0
- package/lib/_modules/test/test-controller.js.map +1 -0
- package/lib/_modules/usage/get-usage-routing-module.d.ts +4 -0
- package/lib/_modules/usage/get-usage-routing-module.d.ts.map +1 -0
- package/lib/_modules/usage/get-usage-routing-module.js +18 -0
- package/lib/_modules/usage/get-usage-routing-module.js.map +1 -0
- package/lib/_modules/usage/index.d.ts +4 -0
- package/lib/_modules/usage/index.d.ts.map +1 -0
- package/lib/_modules/usage/index.js +8 -0
- package/lib/_modules/usage/index.js.map +1 -0
- package/lib/_modules/usage/usage-controller.d.ts +7 -0
- package/lib/_modules/usage/usage-controller.d.ts.map +1 -0
- package/lib/_modules/usage/usage-controller.js +89 -0
- package/lib/_modules/usage/usage-controller.js.map +1 -0
- package/lib/_modules/usage/usage.service.d.ts +17 -0
- package/lib/_modules/usage/usage.service.d.ts.map +1 -0
- package/lib/_modules/usage/usage.service.js +108 -0
- package/lib/_modules/usage/usage.service.js.map +1 -0
- package/lib/_services/dynamobe-api.service.d.ts +10 -0
- package/lib/_services/dynamobe-api.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-api.service.js +131 -0
- package/lib/_services/dynamobe-api.service.js.map +1 -0
- package/lib/_services/dynamobe-app.d.ts +105 -0
- package/lib/_services/dynamobe-app.d.ts.map +1 -0
- package/lib/_services/dynamobe-app.js +212 -0
- package/lib/_services/dynamobe-app.js.map +1 -0
- package/lib/_services/dynamobe-auth.service.d.ts +41 -0
- package/lib/_services/dynamobe-auth.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-auth.service.js +40 -0
- package/lib/_services/dynamobe-auth.service.js.map +1 -0
- package/lib/_services/dynamobe-controller.service.d.ts +11 -0
- package/lib/_services/dynamobe-controller.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-controller.service.js +18 -0
- package/lib/_services/dynamobe-controller.service.js.map +1 -0
- package/lib/_services/dynamobe-data.service.d.ts +50 -0
- package/lib/_services/dynamobe-data.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-data.service.js +222 -0
- package/lib/_services/dynamobe-data.service.js.map +1 -0
- package/lib/_services/dynamobe-db-service-collection.service.d.ts +6 -0
- package/lib/_services/dynamobe-db-service-collection.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-db-service-collection.service.js +8 -0
- package/lib/_services/dynamobe-db-service-collection.service.js.map +1 -0
- package/lib/_services/dynamobe-db.service.d.ts +149 -0
- package/lib/_services/dynamobe-db.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-db.service.js +577 -0
- package/lib/_services/dynamobe-db.service.js.map +1 -0
- package/lib/_services/dynamobe-email-service-collection.service.d.ts +19 -0
- package/lib/_services/dynamobe-email-service-collection.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-email-service-collection.service.js +21 -0
- package/lib/_services/dynamobe-email-service-collection.service.js.map +1 -0
- package/lib/_services/dynamobe-email.service.d.ts +34 -0
- package/lib/_services/dynamobe-email.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-email.service.js +144 -0
- package/lib/_services/dynamobe-email.service.js.map +1 -0
- package/lib/_services/dynamobe-global.service.d.ts +40 -0
- package/lib/_services/dynamobe-global.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-global.service.js +74 -0
- package/lib/_services/dynamobe-global.service.js.map +1 -0
- package/lib/_services/dynamobe-routing-module.service.d.ts +27 -0
- package/lib/_services/dynamobe-routing-module.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-routing-module.service.js +119 -0
- package/lib/_services/dynamobe-routing-module.service.js.map +1 -0
- package/lib/_services/dynamobe-shared-be.service.d.ts +9 -0
- package/lib/_services/dynamobe-shared-be.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-shared-be.service.js +45 -0
- package/lib/_services/dynamobe-shared-be.service.js.map +1 -0
- package/lib/_services/dynamobe-shared.service.d.ts +86 -0
- package/lib/_services/dynamobe-shared.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-shared.service.js +251 -0
- package/lib/_services/dynamobe-shared.service.js.map +1 -0
- package/lib/_services/dynamobe-singleton.service.d.ts +6 -0
- package/lib/_services/dynamobe-singleton.service.d.ts.map +1 -0
- package/lib/_services/dynamobe-singleton.service.js +16 -0
- package/lib/_services/dynamobe-singleton.service.js.map +1 -0
- package/lib/_services/index.d.ts +15 -0
- package/lib/_services/index.d.ts.map +1 -0
- package/lib/_services/index.js +19 -0
- package/lib/_services/index.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +15 -0
- package/lib/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +4257 -0
- package/package.json +4 -15
- package/src/_constants/index.ts +0 -3
- package/src/_models/dynamobe-data-model-params.ts +2 -1
- package/src/_models/index.ts +0 -13
- package/src/_modules/api-service.index.ts +0 -1
- package/src/_modules/auth.index.ts +0 -3
- package/src/_modules/data-service.index.ts +0 -3
- package/src/_modules/test/custom-data.service.ts +2 -1
- package/src/_modules/test/get-test-routing-module.ts +2 -1
- package/src/_modules/test/index.ts +0 -2
- package/src/_modules/test/test-controller.ts +2 -1
- package/src/_modules/usage/get-usage-routing-module.ts +2 -1
- package/src/_modules/usage/index.ts +0 -2
- package/src/_modules/usage/usage-controller.ts +2 -2
- package/src/_modules/usage/usage.service.ts +4 -5
- package/src/_services/dynamobe-api.service.ts +2 -1
- package/src/_services/dynamobe-auth.service.ts +2 -1
- package/src/_services/dynamobe-data.service.ts +3 -4
- package/src/_services/dynamobe-db.service.ts +2 -4
- package/src/_services/dynamobe-email.service.ts +2 -1
- package/src/_services/dynamobe-global.service.ts +2 -2
- package/src/_services/dynamobe-routing-module.service.ts +2 -1
- package/src/_services/dynamobe-shared-be.service.ts +2 -1
- package/src/_services/dynamobe-shared.service.ts +2 -3
- package/src/index.ts +0 -6
- package/src/_constants/fullstack/module-settings/test-module-settings.ts +0 -14
- package/src/_constants/fullstack/module-settings/usage-module-settings.ts +0 -12
- package/src/_constants/fullstack/times.ts +0 -8
- package/src/_models/fullstack/control-models/daily-usage-data.ts +0 -34
- package/src/_models/fullstack/control-models/dynamobe-data-params.ts +0 -19
- package/src/_models/fullstack/control-models/dynamobe-data-property-params.ts +0 -98
- package/src/_models/fullstack/control-models/dynamobe-error.ts +0 -199
- package/src/_models/fullstack/control-models/geo-ip-location.ts +0 -26
- package/src/_models/fullstack/control-models/location-coordinates.ts +0 -5
- package/src/_models/fullstack/control-models/usage-action.ts +0 -18
- package/src/_models/fullstack/control-models/usage-data.ts +0 -26
- package/src/_models/fullstack/data-models/custom-data.ts +0 -41
- package/src/_models/fullstack/data-models/metadata.ts +0 -30
- package/src/_models/fullstack/data-models/usage-session.ts +0 -85
- 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
|