@futdevpro/nts-dynamo 1.3.61 → 1.3.63

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 (194) 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 +12 -0
  4. package/lib/_constants/dynamobe-global.settings.js.map +1 -0
  5. package/lib/_enums/data-model-type.enum.d.ts +6 -0
  6. package/lib/_enums/data-model-type.enum.d.ts.map +1 -0
  7. package/lib/_enums/data-model-type.enum.js +10 -0
  8. package/lib/_enums/data-model-type.enum.js.map +1 -0
  9. package/lib/_enums/dynamobe-data-service-function.enum.d.ts +8 -0
  10. package/lib/_enums/dynamobe-data-service-function.enum.d.ts.map +1 -0
  11. package/lib/_enums/dynamobe-data-service-function.enum.js +15 -0
  12. package/lib/_enums/dynamobe-data-service-function.enum.js.map +1 -0
  13. package/lib/_enums/dynamobe-route-security.enum.d.ts +6 -0
  14. package/lib/_enums/dynamobe-route-security.enum.d.ts.map +1 -0
  15. package/lib/_enums/dynamobe-route-security.enum.js +10 -0
  16. package/lib/_enums/dynamobe-route-security.enum.js.map +1 -0
  17. package/lib/_enums/http/http-call-type.enum.d.ts +8 -0
  18. package/lib/_enums/http/http-call-type.enum.d.ts.map +1 -0
  19. package/lib/_enums/http/http-call-type.enum.js +12 -0
  20. package/lib/_enums/http/http-call-type.enum.js.map +1 -0
  21. package/lib/_enums/http/http-response-type.enum.d.ts +7 -0
  22. package/lib/_enums/http/http-response-type.enum.d.ts.map +1 -0
  23. package/lib/_enums/http/http-response-type.enum.js +11 -0
  24. package/lib/_enums/http/http-response-type.enum.js.map +1 -0
  25. package/lib/_enums/index.d.ts +8 -0
  26. package/lib/_enums/index.d.ts.map +1 -0
  27. package/lib/_enums/index.js +39 -0
  28. package/lib/_enums/index.js.map +1 -0
  29. package/lib/_enums/log-style.enum.d.ts +26 -0
  30. package/lib/_enums/log-style.enum.d.ts.map +1 -0
  31. package/lib/_enums/log-style.enum.js +30 -0
  32. package/lib/_enums/log-style.enum.js.map +1 -0
  33. package/lib/_enums/predefined-data-types.enum.d.ts +8 -0
  34. package/lib/_enums/predefined-data-types.enum.d.ts.map +1 -0
  35. package/lib/_enums/predefined-data-types.enum.js +12 -0
  36. package/lib/_enums/predefined-data-types.enum.js.map +1 -0
  37. package/lib/_models/dynamobe-api-call-params.d.ts +35 -0
  38. package/lib/_models/dynamobe-api-call-params.d.ts.map +1 -0
  39. package/lib/_models/dynamobe-api-call-params.js +24 -0
  40. package/lib/_models/dynamobe-api-call-params.js.map +1 -0
  41. package/lib/_models/dynamobe-app-params.d.ts +15 -0
  42. package/lib/_models/dynamobe-app-params.d.ts.map +1 -0
  43. package/lib/_models/dynamobe-app-params.js +14 -0
  44. package/lib/_models/dynamobe-app-params.js.map +1 -0
  45. package/lib/_models/dynamobe-data-model-params.d.ts +13 -0
  46. package/lib/_models/dynamobe-data-model-params.d.ts.map +1 -0
  47. package/lib/_models/dynamobe-data-model-params.js +15 -0
  48. package/lib/_models/dynamobe-data-model-params.js.map +1 -0
  49. package/lib/_models/dynamobe-endpoint-control.d.ts +30 -0
  50. package/lib/_models/dynamobe-endpoint-control.d.ts.map +1 -0
  51. package/lib/_models/dynamobe-endpoint-control.js +95 -0
  52. package/lib/_models/dynamobe-endpoint-control.js.map +1 -0
  53. package/lib/_models/dynamobe-global-settings.d.ts +9 -0
  54. package/lib/_models/dynamobe-global-settings.d.ts.map +1 -0
  55. package/lib/_models/dynamobe-global-settings.js +3 -0
  56. package/lib/_models/dynamobe-global-settings.js.map +1 -0
  57. package/lib/_models/fullstack-models/control-models/daily-usage-data.d.ts +18 -0
  58. package/lib/_models/fullstack-models/control-models/daily-usage-data.d.ts.map +1 -0
  59. package/lib/_models/fullstack-models/control-models/daily-usage-data.js +22 -0
  60. package/lib/_models/fullstack-models/control-models/daily-usage-data.js.map +1 -0
  61. package/lib/_models/fullstack-models/control-models/dynamobe-data-params.d.ts +11 -0
  62. package/lib/_models/fullstack-models/control-models/dynamobe-data-params.d.ts.map +1 -0
  63. package/lib/_models/fullstack-models/control-models/dynamobe-data-params.js +12 -0
  64. package/lib/_models/fullstack-models/control-models/dynamobe-data-params.js.map +1 -0
  65. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.d.ts +28 -0
  66. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.d.ts.map +1 -0
  67. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.js +67 -0
  68. package/lib/_models/fullstack-models/control-models/dynamobe-data-property-params.js.map +1 -0
  69. package/lib/_models/fullstack-models/control-models/dynamobe-error.d.ts +18 -0
  70. package/lib/_models/fullstack-models/control-models/dynamobe-error.d.ts.map +1 -0
  71. package/lib/_models/fullstack-models/control-models/dynamobe-error.js +188 -0
  72. package/lib/_models/fullstack-models/control-models/dynamobe-error.js.map +1 -0
  73. package/lib/_models/fullstack-models/control-models/geo-ip-location.d.ts +26 -0
  74. package/lib/_models/fullstack-models/control-models/geo-ip-location.d.ts.map +1 -0
  75. package/lib/_models/fullstack-models/control-models/geo-ip-location.js +3 -0
  76. package/lib/_models/fullstack-models/control-models/geo-ip-location.js.map +1 -0
  77. package/lib/_models/fullstack-models/control-models/usage-action.d.ts +9 -0
  78. package/lib/_models/fullstack-models/control-models/usage-action.d.ts.map +1 -0
  79. package/lib/_models/fullstack-models/control-models/usage-action.js +13 -0
  80. package/lib/_models/fullstack-models/control-models/usage-action.js.map +1 -0
  81. package/lib/_models/fullstack-models/control-models/usage-data.d.ts +14 -0
  82. package/lib/_models/fullstack-models/control-models/usage-data.d.ts.map +1 -0
  83. package/lib/_models/fullstack-models/control-models/usage-data.js +16 -0
  84. package/lib/_models/fullstack-models/control-models/usage-data.js.map +1 -0
  85. package/lib/_models/fullstack-models/data-models/custom-data.d.ts +16 -0
  86. package/lib/_models/fullstack-models/data-models/custom-data.d.ts.map +1 -0
  87. package/lib/_models/fullstack-models/data-models/custom-data.js +28 -0
  88. package/lib/_models/fullstack-models/data-models/custom-data.js.map +1 -0
  89. package/lib/_models/fullstack-models/data-models/metadata.d.ts +17 -0
  90. package/lib/_models/fullstack-models/data-models/metadata.d.ts.map +1 -0
  91. package/lib/_models/fullstack-models/data-models/metadata.js +17 -0
  92. package/lib/_models/fullstack-models/data-models/metadata.js.map +1 -0
  93. package/lib/_models/fullstack-models/data-models/usage-session.d.ts +34 -0
  94. package/lib/_models/fullstack-models/data-models/usage-session.d.ts.map +1 -0
  95. package/lib/_models/fullstack-models/data-models/usage-session.js +53 -0
  96. package/lib/_models/fullstack-models/data-models/usage-session.js.map +1 -0
  97. package/lib/_models/index.d.ts +16 -0
  98. package/lib/_models/index.d.ts.map +1 -0
  99. package/lib/_models/index.js +33 -0
  100. package/lib/_models/index.js.map +1 -0
  101. package/lib/_modules/index.d.ts +5 -0
  102. package/lib/_modules/index.d.ts.map +1 -0
  103. package/lib/_modules/index.js +9 -0
  104. package/lib/_modules/index.js.map +1 -0
  105. package/lib/_modules/test-route/custom-data.service.d.ts +6 -0
  106. package/lib/_modules/test-route/custom-data.service.d.ts.map +1 -0
  107. package/lib/_modules/test-route/custom-data.service.js +12 -0
  108. package/lib/_modules/test-route/custom-data.service.js.map +1 -0
  109. package/lib/_modules/test-route/test-controller.d.ts +6 -0
  110. package/lib/_modules/test-route/test-controller.d.ts.map +1 -0
  111. package/lib/_modules/test-route/test-controller.js +126 -0
  112. package/lib/_modules/test-route/test-controller.js.map +1 -0
  113. package/lib/_modules/usage-route/usage-controller.d.ts +7 -0
  114. package/lib/_modules/usage-route/usage-controller.d.ts.map +1 -0
  115. package/lib/_modules/usage-route/usage-controller.js +89 -0
  116. package/lib/_modules/usage-route/usage-controller.js.map +1 -0
  117. package/lib/_modules/usage-route/usage.service.d.ts +19 -0
  118. package/lib/_modules/usage-route/usage.service.d.ts.map +1 -0
  119. package/lib/_modules/usage-route/usage.service.js +110 -0
  120. package/lib/_modules/usage-route/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 +52 -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 +150 -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 +145 -0
  156. package/lib/_services/dynamobe-email.service.js.map +1 -0
  157. package/lib/_services/dynamobe-global-collection.service.d.ts +1 -0
  158. package/lib/_services/dynamobe-global-collection.service.d.ts.map +1 -0
  159. package/lib/_services/dynamobe-global-collection.service.js +58 -0
  160. package/lib/_services/dynamobe-global-collection.service.js.map +1 -0
  161. package/lib/_services/dynamobe-global.service.d.ts +45 -0
  162. package/lib/_services/dynamobe-global.service.d.ts.map +1 -0
  163. package/lib/_services/dynamobe-global.service.js +116 -0
  164. package/lib/_services/dynamobe-global.service.js.map +1 -0
  165. package/lib/_services/dynamobe-routing-module.service.d.ts +26 -0
  166. package/lib/_services/dynamobe-routing-module.service.d.ts.map +1 -0
  167. package/lib/_services/dynamobe-routing-module.service.js +119 -0
  168. package/lib/_services/dynamobe-routing-module.service.js.map +1 -0
  169. package/lib/_services/dynamobe-server.d.ts +32 -0
  170. package/lib/_services/dynamobe-server.d.ts.map +1 -0
  171. package/lib/_services/dynamobe-server.js +183 -0
  172. package/lib/_services/dynamobe-server.js.map +1 -0
  173. package/lib/_services/dynamobe-shared.service.d.ts +101 -0
  174. package/lib/_services/dynamobe-shared.service.d.ts.map +1 -0
  175. package/lib/_services/dynamobe-shared.service.js +295 -0
  176. package/lib/_services/dynamobe-shared.service.js.map +1 -0
  177. package/lib/_services/dynamobe-singleton.service.d.ts +6 -0
  178. package/lib/_services/dynamobe-singleton.service.d.ts.map +1 -0
  179. package/lib/_services/dynamobe-singleton.service.js +16 -0
  180. package/lib/_services/dynamobe-singleton.service.js.map +1 -0
  181. package/lib/_services/index.d.ts +15 -0
  182. package/lib/_services/index.d.ts.map +1 -0
  183. package/lib/_services/index.js +41 -0
  184. package/lib/_services/index.js.map +1 -0
  185. package/lib/dynamobe-global.settings.d.ts +3 -0
  186. package/lib/dynamobe-global.settings.d.ts.map +1 -0
  187. package/lib/dynamobe-global.settings.js +12 -0
  188. package/lib/dynamobe-global.settings.js.map +1 -0
  189. package/lib/index.d.ts +5 -0
  190. package/lib/index.d.ts.map +1 -0
  191. package/lib/index.js +12 -0
  192. package/lib/index.js.map +1 -0
  193. package/lib/tsconfig.tsbuildinfo +2160 -0
  194. package/package.json +15 -12
@@ -0,0 +1,52 @@
1
+ import { Metadata } from '../_models/fullstack-models/data-models/metadata';
2
+ import { DynamoBEDBService } from './dynamobe-db.service';
3
+ import { DynamoBEDataPropertyParams } from '../_models/fullstack-models/control-models/dynamobe-data-property-params';
4
+ import { DynamoBEDataParams } from '../_models/fullstack-models/control-models/dynamobe-data-params';
5
+ export declare class DynamoBEDataService<T extends Metadata> {
6
+ dataDBService: DynamoBEDBService<T>;
7
+ data: T;
8
+ dataList: T[];
9
+ issuer?: string;
10
+ depKey?: string;
11
+ depDBServiceKey?: string;
12
+ dataModelParams?: DynamoBEDataPropertyParams[];
13
+ constructor(data: T, dataParams: DynamoBEDataParams, issuer?: string);
14
+ /**
15
+ * returns all data from database to service dataList
16
+ */
17
+ getAll(): Promise<void>;
18
+ /**
19
+ * returns data from database by id
20
+ */
21
+ getDataById(dontSetToService?: boolean): Promise<T>;
22
+ /**
23
+ * returns data from database by dependencyId to the service
24
+ * @param dependencyId
25
+ */
26
+ getDataByDependencyId(dependencyId?: string): Promise<void>;
27
+ /**
28
+ * returns dataList from database by dependencyId to the service
29
+ * @param dependencyId
30
+ */
31
+ getDataListByDependencyId(dependencyId?: string): Promise<void>;
32
+ /**
33
+ * modifies data if the data have ID and already exists in the DB,
34
+ * creates new if the ID is not present or cant find in DB,
35
+ * and if dependency data setted up, will check before creation
36
+ */
37
+ saveData(): Promise<void>;
38
+ /**
39
+ * permanently deletes data from database by data._id
40
+ */
41
+ deleteData(): Promise<void>;
42
+ /**
43
+ * validation of data, for modify and create, by the ModelParams
44
+ */
45
+ validateForSave(): Promise<void>;
46
+ /**
47
+ * setting up dependency dataHook by DynamoBEDataModelParams
48
+ */
49
+ private lookForDependencyDataSettings;
50
+ getDependencyDataDBService(): DynamoBEDBService<any>;
51
+ }
52
+ //# 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":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0EAA0E,CAAC;AAEtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAErG,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 dynamobe_error_1 = require("../_models/fullstack-models/control-models/dynamobe-error");
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 dynamobe_error_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 dynamobe_error_1.DynamoBEError({ status: 417, message: 'ID is missing!' });
50
+ }
51
+ }
52
+ catch (error) {
53
+ throw new dynamobe_error_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 dynamobe_error_1.DynamoBEError({ status: 417, message: `${this.depKey} is missing!` });
72
+ }
73
+ }
74
+ else {
75
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'dependencyDataIdKey is missing from service!' });
76
+ }
77
+ }
78
+ catch (error) {
79
+ throw new dynamobe_error_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 dynamobe_error_1.DynamoBEError({ status: 417, message: `${this.depKey} is missing!` });
98
+ }
99
+ }
100
+ else {
101
+ throw new dynamobe_error_1.DynamoBEError({ status: 417, message: 'dependencyDataIdKey is missing from service!' });
102
+ }
103
+ }
104
+ catch (error) {
105
+ throw new dynamobe_error_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 dynamobe_error_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 dynamobe_error_1.DynamoBEError({ status: 417, message: 'ID is missing!' });
164
+ }
165
+ }
166
+ catch (error) {
167
+ throw new dynamobe_error_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 dynamobe_error_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 dynamobe_error_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 dynamobe_error_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 dynamobe_error_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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-db-service-collection.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-db-service-collection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,qBAAa,2BAA4B,SAAQ,wBAAwB;IAEvE,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;CAE3C"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoBEDBServiceCollection = void 0;
4
+ const dynamobe_singleton_service_1 = require("./dynamobe-singleton.service");
5
+ class DynamoBEDBServiceCollection extends dynamobe_singleton_service_1.DynamoBESingletonService {
6
+ }
7
+ exports.DynamoBEDBServiceCollection = DynamoBEDBServiceCollection;
8
+ //# sourceMappingURL=dynamobe-db-service-collection.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-db-service-collection.service.js","sourceRoot":"","sources":["../../src/_services/dynamobe-db-service-collection.service.ts"],"names":[],"mappings":";;;AAEA,6EAAwE;AAExE,MAAa,2BAA4B,SAAQ,qDAAwB;CAIxE;AAJD,kEAIC"}
@@ -0,0 +1,150 @@
1
+ import * as mongoose from 'mongoose';
2
+ import { Metadata } from '../_models/fullstack-models/data-models/metadata';
3
+ import { DynamoBEDataParams } from '../_models/fullstack-models/control-models/dynamobe-data-params';
4
+ export declare class DynamoBEDBService<T extends Metadata> {
5
+ dataParams: DynamoBEDataParams;
6
+ dataModel: mongoose.Model<mongoose.Document<any, any, any>, any, any>;
7
+ private depDataName;
8
+ /**
9
+ * @param dataName name the model
10
+ * @param typeSample sample data for scheme creation (dont include Metadata!)
11
+ * @param schemaSettings additional settings for specific parameters as unique, required, minlength or maxlength
12
+ * schemaSettings also MUST contain specific types that differs from the listed above (Array, Date)
13
+ */
14
+ constructor(dataParams: DynamoBEDataParams);
15
+ /**
16
+ * save new data
17
+ * @param data data
18
+ * @returns data
19
+ */
20
+ createData(data: T, creator: string): Promise<T>;
21
+ /**
22
+ * Find data by _id and update
23
+ * @param data data
24
+ * @returns data
25
+ */
26
+ modifyData(data: T, modifier: string): Promise<T>;
27
+ /**
28
+ * get data by _id, throws error if not found
29
+ * @param id id
30
+ * @returns data
31
+ */
32
+ getDataById(id: string): Promise<T>;
33
+ /**
34
+ * get data by dependency data id, throws error if not found
35
+ * @param dependencyId id
36
+ * @returns data
37
+ */
38
+ getDataByDependencyId(dependencyId: string): Promise<T>;
39
+ /**
40
+ * get data by dependency data id, throws error if not found
41
+ * @param dependencyId id
42
+ * @returns dataList
43
+ */
44
+ getDataListByDependencyId(dependencyId: string): Promise<T[]>;
45
+ /**
46
+ * get multiple data objects by a list of DependencyIDs, throws error if not found
47
+ * @param ids ids
48
+ * @returns dataList
49
+ */
50
+ getDataListByDependencyIds(ids: string[]): Promise<T[]>;
51
+ /**
52
+ * returns search result for searchBy object params
53
+ * can use lists or xRange values for searchBy obj properties
54
+ * @param searchBy filter
55
+ * @param narrowByDependencyIds id
56
+ * @returns dataList
57
+ */
58
+ searchData(searchBy: object, narrowByDependencyIds?: string[]): Promise<T[]>;
59
+ /**
60
+ * find data by any of its parameters, throws error if not found
61
+ * @param data etc.: by email: { email: email }
62
+ * { userIds: { $in: this.userId } }
63
+ * @returns data
64
+ */
65
+ findData(data: T): Promise<T>;
66
+ /**
67
+ * returns all data from database, throws error if not found
68
+ * @returns dataList
69
+ */
70
+ getAll(): Promise<T[]>;
71
+ /**
72
+ * update one parameter by a specific
73
+ * { _id: pictureId }, { approved: true }
74
+ * @param updateBy etc.: { email: email } (always use unique parameters for find!)
75
+ * @param update etc.: { $inc: { popularity: this.newVote.amount }, emailVerified: true }
76
+ */
77
+ /**
78
+ * deleted data by id
79
+ * @param id id
80
+ */
81
+ deleteDataById(id: string): Promise<void>;
82
+ /**
83
+ * deleted data by id
84
+ * @param dependencyId id
85
+ */
86
+ deleteDataByDependencyId(dependencyId: string): Promise<void>;
87
+ /**
88
+ * find the data first by any of its parameters, throws error if not found
89
+ * @param filter etc. by email: { email: email }
90
+ * @returns data
91
+ */
92
+ findOne(filter: any): Promise<T>;
93
+ /**
94
+ * find all data by any of its parameters, throws error if not found
95
+ * @param filter etc. by email: { email: email, points: { $gte: 2, $lte: 12 }, userIds: { $in: this.userId } }
96
+ * @returns dataList
97
+ */
98
+ find(filter: any): Promise<T[]>;
99
+ /**
100
+ * find all data by any of its parameters, throws error if not found
101
+ * @param filter etc. by email: { email: email, points: { $gte: 2, $lte: 12 }, userIds: { $in: this.userId } }
102
+ * @param page page
103
+ * @param pageSize pageSize
104
+ * @param sort etc. by dateTime: { dateTime: -1 }
105
+ * @returns dataList
106
+ */
107
+ findWithPaging(filter: any, page: number, pageSize: number, sort?: any): Promise<T[]>;
108
+ /**
109
+ * Find data by _id and update
110
+ * @param id id
111
+ * @param update update
112
+ * @returns data
113
+ */
114
+ findByIdAndUpdate(id: string, update: any, modifier: string): Promise<T>;
115
+ /**
116
+ * update one parameter by a specific
117
+ * @param updateBy etc.: by email: { email: email, points: { $gte: 2, $lte: 12 }, userIds: { $in: this.userId } } (always use unique parameters for find!)
118
+ * @param update etc.: { $inc: { popularity: this.newVote.amount }, emailVerified: true }
119
+ */
120
+ updateOne(updateBy: any, update: any, modifier: string): Promise<void>;
121
+ /**
122
+ * update one parameter by a specific
123
+ * @param updateBy etc.: by email: { email: email, points: { $gte: 2, $lte: 12 }, userIds: { $in: this.userId } } (always use unique parameters for find!)
124
+ * @param update etc.: { $inc: { popularity: this.newVote.amount }, emailVerified: true, reactions: { $push: this.newReaction } }
125
+ */
126
+ updateMany(updateBy: any, update: any, modifier: string): Promise<void>;
127
+ /**
128
+ * builds and returns mongoose schema
129
+ * @returns schema
130
+ */
131
+ private getSchema;
132
+ /**
133
+ * builds mongoose schema building settings object by dynamoDataModelParamsList
134
+ * @param params DynamoBEDataPropertyParams
135
+ * @returns mongoose schema object
136
+ */
137
+ private buildMongooseSchemaByModelParams;
138
+ private getBEType;
139
+ /**
140
+ * adds dynamo metadata settings to any mongoose schema building settings object
141
+ * @param schema schema to update
142
+ * @returns updated schema
143
+ */
144
+ private addMetadataToSchema;
145
+ /**
146
+ * sets depDataKey
147
+ */
148
+ private lookForDependencyDataSettings;
149
+ }
150
+ //# sourceMappingURL=dynamobe-db.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamobe-db.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamobe-db.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAErG,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ;IAYtC,UAAU,EAAE,kBAAkB;IAXvC,SAAS,6DAA4D;IAErE,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;OAKG;gBAEM,UAAU,EAAE,kBAAkB;IAKvC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBtD;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBvD;;;;OAIG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBzC;;;;OAIG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB7D;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqBnE;;;;OAIG;IACG,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAgB7D;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAgElF;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBnC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAiB5B;;;;;OAKG;IASH;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C;;;OAGG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenE;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBtC;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAiBrC;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqB3F;;;;;OAKG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB9E;;;;OAIG;IACG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7E;;;OAGG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAiCxC,OAAO,CAAC,SAAS;IAuBjB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAOtC"}