@futdevpro/nts-dynamo 1.10.1 → 1.10.3

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 (83) hide show
  1. package/.eslintrc.json +1 -0
  2. package/build/_collections/global-settings.const.d.ts.map +1 -1
  3. package/build/_collections/global-settings.const.js +2 -0
  4. package/build/_collections/global-settings.const.js.map +1 -1
  5. package/build/_models/control-models/endpoint-params.control-model.js +1 -1
  6. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  7. package/build/_models/interfaces/global-log-settings.interface.d.ts +4 -0
  8. package/build/_models/interfaces/global-log-settings.interface.d.ts.map +1 -1
  9. package/build/_models/interfaces/global-settings.interface.d.ts +4 -0
  10. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  11. package/build/_modules/mock/app-extended-server.mock.d.ts +3 -3
  12. package/build/_modules/mock/app-extended-server.mock.d.ts.map +1 -1
  13. package/build/_modules/mock/app-extended-server.mock.js +8 -8
  14. package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
  15. package/build/_modules/mock/app-server.mock.d.ts +2 -2
  16. package/build/_modules/mock/app-server.mock.d.ts.map +1 -1
  17. package/build/_modules/mock/app-server.mock.js +6 -6
  18. package/build/_modules/mock/app-server.mock.js.map +1 -1
  19. package/build/_modules/socket/{_services/app-extended.server.d.ts → app-extended.server.d.ts} +2 -2
  20. package/build/_modules/socket/app-extended.server.d.ts.map +1 -0
  21. package/build/_modules/socket/{_services/app-extended.server.js → app-extended.server.js} +6 -6
  22. package/build/_modules/socket/app-extended.server.js.map +1 -0
  23. package/build/_modules/socket/app-extended.server.spec.d.ts.map +1 -0
  24. package/build/_modules/socket/{_services/app-extended.server.spec.js → app-extended.server.spec.js} +5 -5
  25. package/build/_modules/socket/app-extended.server.spec.js.map +1 -0
  26. package/build/_modules/socket/index.d.ts +1 -1
  27. package/build/_modules/socket/index.d.ts.map +1 -1
  28. package/build/_modules/socket/index.js +1 -1
  29. package/build/_modules/socket/index.js.map +1 -1
  30. package/build/_services/base/data.service.d.ts +9 -3
  31. package/build/_services/base/data.service.d.ts.map +1 -1
  32. package/build/_services/base/data.service.js +162 -24
  33. package/build/_services/base/data.service.js.map +1 -1
  34. package/build/_services/base/db.service.d.ts +8 -2
  35. package/build/_services/base/db.service.d.ts.map +1 -1
  36. package/build/_services/base/db.service.js +82 -24
  37. package/build/_services/base/db.service.js.map +1 -1
  38. package/build/_services/core/api.service.d.ts.map +1 -1
  39. package/build/_services/core/api.service.js +8 -9
  40. package/build/_services/core/api.service.js.map +1 -1
  41. package/build/_services/core/api.service.spec.js +3 -3
  42. package/build/_services/core/api.service.spec.js.map +1 -1
  43. package/build/_services/core/global.service.d.ts.map +1 -1
  44. package/build/_services/core/global.service.js +3 -0
  45. package/build/_services/core/global.service.js.map +1 -1
  46. package/build/_services/server/app.server.d.ts +25 -0
  47. package/build/_services/server/app.server.d.ts.map +1 -1
  48. package/build/_services/server/app.server.js +1 -4
  49. package/build/_services/server/app.server.js.map +1 -1
  50. package/build/_services/server/app.server.spec.js +4 -1
  51. package/build/_services/server/app.server.spec.js.map +1 -1
  52. package/build/_services/server/env-set.d.ts +2 -0
  53. package/build/_services/server/env-set.d.ts.map +1 -0
  54. package/build/_services/server/env-set.js +20 -0
  55. package/build/_services/server/env-set.js.map +1 -0
  56. package/build/index.d.ts +1 -0
  57. package/build/index.d.ts.map +1 -1
  58. package/build/index.js +1 -0
  59. package/build/index.js.map +1 -1
  60. package/package.json +13 -17
  61. package/src/_collections/global-settings.const.ts +2 -0
  62. package/src/_models/control-models/endpoint-params.control-model.ts +1 -1
  63. package/src/_models/interfaces/global-log-settings.interface.ts +5 -0
  64. package/src/_models/interfaces/global-settings.interface.ts +5 -0
  65. package/src/_modules/mock/app-extended-server.mock.ts +13 -13
  66. package/src/_modules/mock/app-server.mock.ts +10 -10
  67. package/src/_modules/socket/{_services/app-extended.server.spec.ts → app-extended.server.spec.ts} +7 -7
  68. package/src/_modules/socket/{_services/app-extended.server.ts → app-extended.server.ts} +18 -13
  69. package/src/_modules/socket/index.ts +1 -1
  70. package/src/_services/base/data.service.ts +265 -31
  71. package/src/_services/base/db.service.ts +91 -15
  72. package/src/_services/core/api.service.spec.ts +11 -4
  73. package/src/_services/core/api.service.ts +5 -6
  74. package/src/_services/core/global.service.ts +3 -0
  75. package/src/_services/server/app.server.spec.ts +7 -2
  76. package/src/_services/server/app.server.ts +2 -2
  77. package/src/_services/server/env-set.ts +21 -0
  78. package/src/index.ts +1 -0
  79. package/build/_modules/socket/_services/app-extended.server.d.ts.map +0 -1
  80. package/build/_modules/socket/_services/app-extended.server.js.map +0 -1
  81. package/build/_modules/socket/_services/app-extended.server.spec.d.ts.map +0 -1
  82. package/build/_modules/socket/_services/app-extended.server.spec.js.map +0 -1
  83. /package/build/_modules/socket/{_services/app-extended.server.spec.d.ts → app-extended.server.spec.d.ts} +0 -0
@@ -123,6 +123,9 @@ class DyNTS_DataService {
123
123
  * also if dontSetToService is false or not setted,
124
124
  * the data will be saved to the service, even if its not found
125
125
  *
126
+ * if the data is not found, it will try to find it from the archive
127
+ * unless skipArchiveLoad is set to true
128
+ *
126
129
  * @remarks
127
130
  * If you need to get-save a data, if possible,
128
131
  * use db-service update instead.
@@ -133,9 +136,10 @@ class DyNTS_DataService {
133
136
  *
134
137
  * @return {T} data: T
135
138
  */
136
- async getDataById(id, dontSetToService) {
139
+ async getDataById(id, dontSetToService, skipArchiveLoad) {
137
140
  try {
138
- if (!id && !this.data._id) {
141
+ id = id ?? this.data?._id;
142
+ if (!id) {
139
143
  throw new fsm_dynamo_1.DyFM_Error({
140
144
  ...this._getDefaultErrorSettings('getDataById', new Error(`getDataById failed, ID is missing! ` +
141
145
  `(maybe you wanted to use getDataByDependencyId() instead...) ` +
@@ -143,7 +147,11 @@ class DyNTS_DataService {
143
147
  errorCode: 'NTS-DS0-GI1',
144
148
  });
145
149
  }
146
- const dataExists = await this.dataDBService.getDataById(id ?? this.data._id);
150
+ let dataExists = await this.dataDBService.getDataById(id);
151
+ if (this.haveArchiveDataService && !skipArchiveLoad) {
152
+ const archiveDataService = this.getArchiveDataService();
153
+ dataExists = await archiveDataService.getDataByOriginalId(id, true);
154
+ }
147
155
  if (!dontSetToService) {
148
156
  this.data = dataExists;
149
157
  }
@@ -825,39 +833,54 @@ class DyNTS_DataService {
825
833
  }
826
834
  }
827
835
  }
828
- async searchData(query) {
836
+ async searchData(query, dataList) {
829
837
  try {
830
- if (!query || Object.keys(query).length === 0) {
831
- const allData = await this.getAll();
832
- return {
833
- results: allData,
834
- total: allData.length,
835
- };
838
+ const searchResult = await this.sortAndFilterDataList(query, dataList);
839
+ if (query.page !== undefined && query.pageSize !== undefined) {
840
+ const start = query.page * query.pageSize;
841
+ const end = start + query.pageSize;
842
+ searchResult.results = searchResult.results.slice(start, end);
836
843
  }
844
+ return searchResult;
845
+ }
846
+ catch (error) {
847
+ throw new fsm_dynamo_1.DyFM_Error({
848
+ ...this._getDefaultErrorSettings('searchData', error),
849
+ errorCode: 'NTS-DS0-SD0',
850
+ });
851
+ }
852
+ }
853
+ async sortAndFilterDataList(query, dataList) {
854
+ try {
837
855
  if (!query.filterBy) {
838
856
  query.filterBy = {};
839
857
  }
840
- if (!query.page && !query.pageSize && !query.sortBy) {
841
- const dataFindResult = await this.dataDBService.find(query.filterBy);
842
- return {
843
- results: dataFindResult,
844
- total: dataFindResult.length,
845
- };
846
- }
847
858
  if (!query.page) {
848
- query.page = 1;
859
+ query.page = 0;
849
860
  }
850
861
  if (!query.pageSize) {
851
- fsm_dynamo_1.DyFM_Log.warn('searchData pageSize is not setted, setting to 10.');
862
+ fsm_dynamo_1.DyFM_Log.warn(`searchData pageSize is not setted, setting to ${global_settings_const_1.DyNTS_global_settings.defaultPageSize}.`);
852
863
  query.pageSize = global_settings_const_1.DyNTS_global_settings.defaultPageSize;
853
864
  }
854
- if (!query.sortBy) {
855
- query.sortBy = { __lastModified: -1 };
865
+ if (!query.sortBy?.length) {
866
+ query.sortBy = [{ key: '__lastModified', order: -1 }];
856
867
  }
857
- const dataFindWithPagingResult = await this.dataDBService.findWithPaging(query.filterBy, query.page, query.pageSize, query.sortBy);
868
+ query.sortBy.reverse();
869
+ if (!dataList) {
870
+ dataList = await this.getAll();
871
+ }
872
+ const filterKeys = Object.keys(query.filterBy);
873
+ const filterFunctionsByKey = {};
874
+ filterKeys.forEach((key) => {
875
+ filterFunctionsByKey[key] = this.getFilterFunctionForKey(key, query.filterBy[key]);
876
+ });
877
+ query.sortBy.forEach((sort) => {
878
+ dataList.sort(this.getSortFunctionForKey(sort.key, sort.order));
879
+ });
880
+ dataList = dataList.filter((data) => filterKeys.every((key) => filterFunctionsByKey[key](data[key])));
858
881
  return {
859
- results: dataFindWithPagingResult,
860
- total: dataFindWithPagingResult.length,
882
+ results: dataList,
883
+ totalItems: dataList.length,
861
884
  };
862
885
  }
863
886
  catch (error) {
@@ -867,6 +890,121 @@ class DyNTS_DataService {
867
890
  });
868
891
  }
869
892
  }
893
+ getFilterFunctionForKey(key, searchValue) {
894
+ if (!this.dataParams.properties[key]) {
895
+ throw new fsm_dynamo_1.DyFM_Error({
896
+ ...this._getDefaultErrorSettings('getFilterFunctionForKey', new Error(`getFilterFunctionForKey failed, key not found in dataParams ` +
897
+ `(${this.dataParams.dataName})`)),
898
+ errorCode: 'NTS-DS0-GFF1',
899
+ });
900
+ }
901
+ if (searchValue === undefined) {
902
+ throw new fsm_dynamo_1.DyFM_Error({
903
+ ...this._getDefaultErrorSettings('getFilterFunctionForKey', new Error(`getFilterFunctionForKey failed, searchValue is missing! ` +
904
+ `(${this.dataParams.dataName})`)),
905
+ errorCode: 'NTS-DS0-GFF2',
906
+ });
907
+ }
908
+ switch (this.dataParams.properties[key].type) {
909
+ case 'String':
910
+ if (typeof searchValue !== 'string') {
911
+ throw new fsm_dynamo_1.DyFM_Error({
912
+ ...this._getDefaultErrorSettings('getFilterFunctionForKey', new Error(`getFilterFunctionForKey failed, searchValue is not a string! ` +
913
+ `(${this.dataParams.dataName})`)),
914
+ errorCode: 'NTS-DS0-GFF3',
915
+ });
916
+ }
917
+ const lowerCaseSearchValue = searchValue.toLowerCase();
918
+ return (dataProperty) => dataProperty.toLowerCase().includes(lowerCaseSearchValue);
919
+ case 'Date':
920
+ if (searchValue.isRange) {
921
+ const rangeAsNumber = new fsm_dynamo_1.DyFM_RangeValue(+new Date(searchValue.from), +new Date(searchValue.to));
922
+ return (dataProperty) => fsm_dynamo_1.DyFM_RangeValue.isInRange(+new Date(dataProperty), rangeAsNumber);
923
+ }
924
+ if (Array.isArray(searchValue)) {
925
+ const searchValueAsDateArray = searchValue.map((date) => new Date(date));
926
+ return (dataProperty) => searchValueAsDateArray.includes(new Date(dataProperty));
927
+ }
928
+ const searchValueAsDate = new Date(searchValue);
929
+ return (dataProperty) => new Date(dataProperty) === searchValueAsDate;
930
+ case 'Number':
931
+ if (searchValue.isRange) {
932
+ return (dataProperty) => fsm_dynamo_1.DyFM_RangeValue.isInRange(dataProperty, searchValue);
933
+ }
934
+ if (Array.isArray(searchValue)) {
935
+ return (dataProperty) => searchValue.includes(dataProperty);
936
+ }
937
+ return (dataProperty) => dataProperty === searchValue;
938
+ case 'Boolean':
939
+ return (dataProperty) => dataProperty === searchValue;
940
+ default:
941
+ if (searchValue.isRange) {
942
+ throw new fsm_dynamo_1.DyFM_Error({
943
+ ...this._getDefaultErrorSettings('getFilterFunctionForKey', new Error(`getFilterFunctionForKey failed, range search not implemented for this type ` +
944
+ `(${this.dataParams.dataName})`)),
945
+ errorCode: 'NTS-DS0-GFF3',
946
+ });
947
+ }
948
+ if (Array.isArray(searchValue)) {
949
+ return (dataProperty) => searchValue.includes(dataProperty);
950
+ }
951
+ return (dataProperty) => dataProperty === searchValue;
952
+ }
953
+ }
954
+ getSortFunctionForKey(key, sortDirection) {
955
+ if (!this.dataParams.properties[key]) {
956
+ throw new fsm_dynamo_1.DyFM_Error({
957
+ ...this._getDefaultErrorSettings('getSortFunctionForKey', new Error(`getSortFunctionForKey failed, key not found in dataParams ` +
958
+ `(${this.dataParams.dataName})`)),
959
+ errorCode: 'NTS-DS0-GSF1',
960
+ });
961
+ }
962
+ const sortValue = (sortDirection === 1 || sortDirection === 'asc' || sortDirection === 'ascending') ? 1 : -1;
963
+ switch (this.dataParams.properties[key].type) {
964
+ case 'String':
965
+ return (a, b) => a.localeCompare(b) * sortValue;
966
+ case 'Date':
967
+ return (a, b) => {
968
+ if (+new Date(a[key]) < +new Date(b[key])) {
969
+ return -sortValue;
970
+ }
971
+ else if (+new Date(a[key]) > +new Date(b[key])) {
972
+ return sortValue;
973
+ }
974
+ else {
975
+ return 0;
976
+ }
977
+ };
978
+ case 'Number':
979
+ return (a, b) => {
980
+ if (a[key] < b[key]) {
981
+ return -sortValue;
982
+ }
983
+ else if (a[key] > b[key]) {
984
+ return sortValue;
985
+ }
986
+ else {
987
+ return 0;
988
+ }
989
+ };
990
+ case 'Boolean':
991
+ return (a, b) => {
992
+ if (a[key] === b[key]) {
993
+ return 0;
994
+ }
995
+ if (a[key]) {
996
+ return sortValue;
997
+ }
998
+ return -sortValue;
999
+ };
1000
+ default:
1001
+ throw new fsm_dynamo_1.DyFM_Error({
1002
+ ...this._getDefaultErrorSettings('getSortFunctionForKey', new Error(`getSortFunctionForKey failed, sorting not implemented for this type ` +
1003
+ `(${this.dataParams.dataName}, ${this.dataParams.properties[key].type})`)),
1004
+ errorCode: 'NTS-DS0-GSF2',
1005
+ });
1006
+ }
1007
+ }
870
1008
  /**
871
1009
  * setting up dependency dataHook by DynamoBEDataModelParams
872
1010
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,7 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
148
148
  /**
149
149
  * #MONGOOSE FUNCTION
150
150
  * Find the data first by any of its parameters
151
+ * WARNING: This function will not gives you back the total number of data in the database!
151
152
  *
152
153
  * @param filterBy if you can, use unique parameters for find!
153
154
  *
@@ -312,8 +313,13 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
312
313
  * @param schema schema to update
313
314
  * @returns updated schema
314
315
  */
315
- private addMetadataToSchema;
316
- private addArchiveMetadataToSchema;
316
+ /**
317
+ * adds dynamo metadata settings to any mongoose schema building settings object
318
+ * @param properties properties to update
319
+ * @returns updated properties
320
+ */
321
+ private addMetadataToProperties;
322
+ private addArchiveMetadataToProperties;
317
323
  /**
318
324
  * sets depDataKey
319
325
  */
@@ -1 +1 @@
1
- {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,qBAAqB,EAGrB,aAAa,EAAuB,WAAW,EAI/C,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,aAAa;IAmBzC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAjB7C,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,MAA0B;IAEnC,OAAO,CAAC,WAAW,CAAS;IAE5B,mBAAmB,SAEoC;IAEvD;;;;;OAKG;gBAEM,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IA4B7C;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA+CrD;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAyCnF;;;;OAIG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBzC;;;;;;OAMG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA+B7D;;;;;;OAMG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAuCnE;;;;;;OAMG;IACG,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoCvE;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBtB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1D,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9E,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7D,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjF,kBAAkB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAiBxC;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C;;;OAGG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC;;;;;;;OAOG;IACG,UAAU,CACd,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,CAAC,EAAE,CAAC;IAsGf;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBrD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,cAAc,CAClB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;IA2Bf;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,CAAC,CAAC;IAsBb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,SAAS,CACb,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACG,UAAU,CACd,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC;IAwBhB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,wBAAwB;IAmBhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAuExC,OAAO,CAAC,SAAS;IA+BjB;;;;OAIG;IAaH;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,8BAA8B;IAmBtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CA4BtC"}
@@ -564,6 +564,7 @@ class DyNTS_DBService {
564
564
  /**
565
565
  * #MONGOOSE FUNCTION
566
566
  * Find the data first by any of its parameters
567
+ * WARNING: This function will not gives you back the total number of data in the database!
567
568
  *
568
569
  * @param filterBy if you can, use unique parameters for find!
569
570
  *
@@ -595,9 +596,9 @@ class DyNTS_DBService {
595
596
  * @returns {T[]} dataList: T[]
596
597
  */
597
598
  async findWithPaging(filterBy, page, pageSize, sort) {
598
- if (filterBy['_deleted'] === undefined) {
599
- filterBy['_deleted'] = null;
600
- }
599
+ /* if (filterBy['_deleted'] === undefined) {
600
+ filterBy['_deleted'] = null;
601
+ } */
601
602
  const dataList = await this.dataModel
602
603
  .find(filterBy)
603
604
  .sort(sort)
@@ -816,14 +817,16 @@ class DyNTS_DBService {
816
817
  * @returns schema
817
818
  */
818
819
  getSchema() {
819
- let schema = this.buildMongooseSchemaByModelParams();
820
- schema = this.addMetadataToSchema(schema);
820
+ this.dataParams.properties = this.addMetadataToProperties(this.dataParams.properties);
821
821
  if (this.dataParams.dataName.includes(archive_util_1.DyNTS_archiveSuffix)) {
822
- schema = this.addArchiveMetadataToSchema(schema);
822
+ this.dataParams.properties = this.addArchiveMetadataToProperties(this.dataParams.properties);
823
823
  }
824
- // tslint:disable-next-line: no-string-literal
824
+ const schema = this.buildMongooseSchemaByModelParams(this.dataParams.properties);
825
+ /* schema = this.addMetadataToSchema(schema); */
826
+ /* if (this.dataParams.dataName.includes(DyNTS_archiveSuffix)) {
827
+ schema = this.addArchiveMetadataToSchema(schema);
828
+ } */
825
829
  if (schema['_id']) {
826
- // tslint:disable-next-line: no-string-literal
827
830
  delete schema['_id'];
828
831
  }
829
832
  return new mongoose_1.Schema(schema);
@@ -835,18 +838,28 @@ class DyNTS_DBService {
835
838
  */
836
839
  buildMongooseSchemaByModelParams(properties) {
837
840
  const schemaSettingsObj = {};
838
- if (!properties) {
839
- properties = this.dataParams.properties;
840
- }
841
+ /* if (!properties) {
842
+ properties = this.dataParams.properties;
843
+ } */
841
844
  Object.values(properties).forEach((property) => {
842
845
  if (!property) {
843
846
  fsm_dynamo_1.DyFM_Log.warn(`property is undefined on ${this.dataParams.dbName} (NTS DB)`);
844
847
  return;
845
848
  }
849
+ if (!property.key) {
850
+ throw new fsm_dynamo_1.DyFM_Error({
851
+ ...this._getDefaultErrorSettings('buildMongooseSchemaByModelParams', new Error(`property.key is undefined on ${this.dataParams.dbName} (NTS DB)`)),
852
+ errorCode: 'NTS-DBS-BMSBP0',
853
+ });
854
+ }
846
855
  const beType = this.getBEType(property.type);
856
+ /* TODO if (beType === Array && property.archiveable && !property.archiveListAfter) {
857
+ property.archiveListAfter = DyNTS_global_settings.archiveListAfter;
858
+ } */
847
859
  if (beType !== Object ||
848
860
  !property?.subObjectParams ||
849
- (property?.subObjectParams && Object.keys(property.subObjectParams).length == 0)) {
861
+ (property?.subObjectParams &&
862
+ Object.keys(property.subObjectParams).length == 0)) {
850
863
  schemaSettingsObj[property.key] = {
851
864
  type: beType,
852
865
  };
@@ -901,19 +914,64 @@ class DyNTS_DBService {
901
914
  * @param schema schema to update
902
915
  * @returns updated schema
903
916
  */
904
- addMetadataToSchema(schema) {
905
- schema.__created = { type: Date };
906
- schema.__createdBy = { type: String };
907
- schema.__lastModified = { type: Date };
908
- schema.__lastModifiedBy = { type: String };
909
- schema._deleted = { type: Date };
910
- schema._deletedBy = { type: String };
911
- return schema;
917
+ /* private addMetadataToSchema(schema: any): any {
918
+ schema.__created = { type: Date };
919
+ schema.__createdBy = { type: String };
920
+ schema.__lastModified = { type: Date };
921
+ schema.__lastModifiedBy = { type: String };
922
+
923
+ schema._deleted = { type: Date };
924
+ schema._deletedBy = { type: String };
925
+
926
+ return schema;
927
+ } */
928
+ /**
929
+ * adds dynamo metadata settings to any mongoose schema building settings object
930
+ * @param properties properties to update
931
+ * @returns updated properties
932
+ */
933
+ addMetadataToProperties(properties) {
934
+ // TOD: ezek a kikommentelt "required: true"-k kellenek, csak félő, hogy gondokat okoznak a
935
+ // jelenlegi rendszerekben, ezért akkor kell majd visszarakni, ha lesz tesztelői ÉS fejlesztői kapacitás rá
936
+ if (!properties.__created) {
937
+ properties.__created = { key: '__created', type: 'Date' /* , required: true */ };
938
+ }
939
+ if (!properties.__createdBy) {
940
+ properties.__createdBy = { key: '__createdBy', type: 'string' /* , required: true */ };
941
+ }
942
+ if (!properties.__lastModified) {
943
+ properties.__lastModified = { key: '__lastModified', type: 'Date' /* , required: true */ };
944
+ }
945
+ if (!properties.__lastModifiedBy) {
946
+ properties.__lastModifiedBy = { key: '__lastModifiedBy', type: 'string' /* , required: true */ };
947
+ }
948
+ if (!properties._deleted) {
949
+ properties._deleted = { key: '_deleted', type: 'Date' };
950
+ }
951
+ if (!properties._deletedBy) {
952
+ properties._deletedBy = { key: '_deletedBy', type: 'string' };
953
+ }
954
+ return properties;
912
955
  }
913
- addArchiveMetadataToSchema(schema) {
914
- schema._originalId = { type: String, required: true, index: true, unique: true };
915
- schema._archived = { type: Date, required: true };
916
- return schema;
956
+ /* private addArchiveMetadataToSchema(schema: any): any {
957
+ schema._originalId = { type: String, required: true, index: true, unique: true };
958
+ schema._archived = { type: Date, required: true };
959
+
960
+ return schema;
961
+ } */
962
+ addArchiveMetadataToProperties(properties) {
963
+ if (!properties._originalId) {
964
+ properties._originalId = {
965
+ key: '_originalId', type: 'string',
966
+ required: true, index: true, unique: true,
967
+ };
968
+ }
969
+ if (!properties._archived) {
970
+ properties._archived = {
971
+ key: '_archived', type: 'Date', required: true,
972
+ };
973
+ }
974
+ return properties;
917
975
  }
918
976
  /**
919
977
  * sets depDataKey