@campxdev/server-shared 1.6.50 → 1.6.51

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 (34) hide show
  1. package/dist/data-imports-manager/constants/data-import.constants.d.ts +6 -0
  2. package/dist/data-imports-manager/constants/data-import.constants.d.ts.map +1 -0
  3. package/dist/data-imports-manager/constants/data-import.constants.js +9 -0
  4. package/dist/data-imports-manager/constants/data-import.constants.js.map +1 -0
  5. package/dist/data-imports-manager/data-import-manager.module.js +2 -2
  6. package/dist/data-imports-manager/data-import-manager.module.js.map +1 -1
  7. package/dist/data-imports-manager/index.d.ts +4 -1
  8. package/dist/data-imports-manager/index.d.ts.map +1 -1
  9. package/dist/data-imports-manager/index.js +4 -1
  10. package/dist/data-imports-manager/index.js.map +1 -1
  11. package/dist/data-imports-manager/services/data-import-manager.service.d.ts +37 -0
  12. package/dist/data-imports-manager/services/data-import-manager.service.d.ts.map +1 -0
  13. package/dist/data-imports-manager/services/data-import-manager.service.js +168 -0
  14. package/dist/data-imports-manager/services/data-import-manager.service.js.map +1 -0
  15. package/dist/data-imports-manager/{data-import.resource.d.ts → services/data-import.resource.d.ts} +4 -4
  16. package/dist/data-imports-manager/services/data-import.resource.d.ts.map +1 -0
  17. package/dist/data-imports-manager/{data-import.resource.js → services/data-import.resource.js} +3 -3
  18. package/dist/data-imports-manager/services/data-import.resource.js.map +1 -0
  19. package/dist/data-imports-manager/types/data-import.types.d.ts +87 -0
  20. package/dist/data-imports-manager/types/data-import.types.d.ts.map +1 -0
  21. package/dist/data-imports-manager/types/data-import.types.js +3 -0
  22. package/dist/data-imports-manager/types/data-import.types.js.map +1 -0
  23. package/dist/data-imports-manager/utils/data-import.utils.d.ts +27 -0
  24. package/dist/data-imports-manager/utils/data-import.utils.d.ts.map +1 -0
  25. package/dist/data-imports-manager/utils/data-import.utils.js +205 -0
  26. package/dist/data-imports-manager/utils/data-import.utils.js.map +1 -0
  27. package/dist/sqs-queues/services/message-queue.handler.js +1 -1
  28. package/package.json +1 -1
  29. package/dist/data-imports-manager/data-import-manager.service.d.ts +0 -129
  30. package/dist/data-imports-manager/data-import-manager.service.d.ts.map +0 -1
  31. package/dist/data-imports-manager/data-import-manager.service.js +0 -336
  32. package/dist/data-imports-manager/data-import-manager.service.js.map +0 -1
  33. package/dist/data-imports-manager/data-import.resource.d.ts.map +0 -1
  34. package/dist/data-imports-manager/data-import.resource.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export declare const SheetValidationType: Readonly<{
2
+ OPTIONAL: "OPTIONAL";
3
+ REQUIRED: "REQUIRED";
4
+ NOT_NEEDED: "NOT_NEEDED";
5
+ }>;
6
+ //# sourceMappingURL=data-import.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.constants.d.ts","sourceRoot":"","sources":["../../../src/data-imports-manager/constants/data-import.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;EAI9B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SheetValidationType = void 0;
4
+ exports.SheetValidationType = Object.freeze({
5
+ OPTIONAL: 'OPTIONAL',
6
+ REQUIRED: 'REQUIRED',
7
+ NOT_NEEDED: 'NOT_NEEDED',
8
+ });
9
+ //# sourceMappingURL=data-import.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.constants.js","sourceRoot":"","sources":["../../../src/data-imports-manager/constants/data-import.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC"}
@@ -10,8 +10,8 @@ exports.DataImportApplications = exports.DataImportTasks = exports.DataImportMan
10
10
  const common_1 = require("@nestjs/common");
11
11
  const domain_1 = require("../domain");
12
12
  const media_1 = require("../media");
13
- const data_import_manager_service_1 = require("./data-import-manager.service");
14
- const data_import_resource_1 = require("./data-import.resource");
13
+ const data_import_manager_service_1 = require("./services/data-import-manager.service");
14
+ const data_import_resource_1 = require("./services/data-import.resource");
15
15
  let DataImportManagerModule = class DataImportManagerModule {
16
16
  };
17
17
  exports.DataImportManagerModule = DataImportManagerModule;
@@ -1 +1 @@
1
- {"version":3,"file":"data-import-manager.module.js","sourceRoot":"","sources":["../../src/data-imports-manager/data-import-manager.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,sCAA+C;AAC/C,oCAAuC;AACvC,+EAAyE;AACzE,iEAA4D;AAOrD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,0DAAuB;kCAAvB,uBAAuB;IALnC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,2BAAkB,EAAE,mBAAW,CAAC;QAC1C,SAAS,EAAE,CAAC,yCAAkB,EAAE,sDAAwB,CAAC;QACzD,OAAO,EAAE,CAAC,sDAAwB,CAAC;KACpC,CAAC;GACW,uBAAuB,CAAG;AAE1B,QAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,8BAA8B;KAC9C;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,4BAA4B;QACvC,aAAa,EAAE,6BAA6B;KAC7C;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,gCAAgC;QAC3C,aAAa,EAAE,iCAAiC;KACjD;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,8BAA8B;KAC9C;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,8BAA8B;QACzC,aAAa,EAAE,+BAA+B;KAC/C;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"data-import-manager.module.js","sourceRoot":"","sources":["../../src/data-imports-manager/data-import-manager.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,sCAA+C;AAC/C,oCAAuC;AACvC,wFAAkF;AAClF,0EAAqE;AAO9D,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,0DAAuB;kCAAvB,uBAAuB;IALnC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,2BAAkB,EAAE,mBAAW,CAAC;QAC1C,SAAS,EAAE,CAAC,yCAAkB,EAAE,sDAAwB,CAAC;QACzD,OAAO,EAAE,CAAC,sDAAwB,CAAC;KACpC,CAAC;GACW,uBAAuB,CAAG;AAE1B,QAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,8BAA8B;KAC9C;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,4BAA4B;QACvC,aAAa,EAAE,6BAA6B;KAC7C;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,gCAAgC;QAC3C,aAAa,EAAE,iCAAiC;KACjD;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,8BAA8B;KAC9C;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,8BAA8B;QACzC,aAAa,EAAE,+BAA+B;KAC/C;CACF,CAAC,CAAC"}
@@ -1,3 +1,6 @@
1
+ export * from './constants/data-import.constants';
1
2
  export * from './data-import-manager.module';
2
- export * from './data-import-manager.service';
3
+ export * from './services/data-import-manager.service';
4
+ export * from './types/data-import.types';
5
+ export * from './utils/data-import.utils';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-imports-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-imports-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -14,6 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants/data-import.constants"), exports);
17
18
  __exportStar(require("./data-import-manager.module"), exports);
18
- __exportStar(require("./data-import-manager.service"), exports);
19
+ __exportStar(require("./services/data-import-manager.service"), exports);
20
+ __exportStar(require("./types/data-import.types"), exports);
21
+ __exportStar(require("./utils/data-import.utils"), exports);
19
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-imports-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-imports-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,+DAA6C;AAC7C,yEAAuD;AACvD,4DAA0C;AAC1C,4DAA0C"}
@@ -0,0 +1,37 @@
1
+ import { DataImport, GlobalDataImportRepository } from '../../domain';
2
+ import { DataImportResource } from '../services/data-import.resource';
3
+ import { DataImportAfterSheetValidationFn, DataImportData, DataImportField, IDataImportService } from '../types/data-import.types';
4
+ export declare class DataImportManagerService {
5
+ private readonly dataImportRepo;
6
+ readonly dataImportResource: DataImportResource;
7
+ constructor(dataImportRepo: GlobalDataImportRepository, dataImportResource: DataImportResource);
8
+ validateDataImport<T = any, D = any>(props: {
9
+ doc: DataImport;
10
+ fields: DataImportField<T>[];
11
+ keepUnknownFields?: boolean;
12
+ validationService: IDataImportService<T, D>;
13
+ afterSheetValidation?: DataImportAfterSheetValidationFn<T>;
14
+ }): Promise<{
15
+ success: boolean;
16
+ data: T[];
17
+ otherData?: D;
18
+ }>;
19
+ startValidation(props: {
20
+ dataImportService?: IDataImportService;
21
+ dataImport: DataImport;
22
+ }): Promise<void>;
23
+ startDataImport(props: {
24
+ dataImportService?: IDataImportService;
25
+ dataImport: DataImport;
26
+ }): Promise<void>;
27
+ private updateFileData;
28
+ private removeFileData;
29
+ deleteDataImport(id: string): Promise<void>;
30
+ private uploadExportFile;
31
+ formatExportData<T>(props: {
32
+ headers: string[];
33
+ data: T[];
34
+ fileName: string;
35
+ }): Promise<DataImportData<T>>;
36
+ }
37
+ //# sourceMappingURL=data-import-manager.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import-manager.service.d.ts","sourceRoot":"","sources":["../../../src/data-imports-manager/services/data-import-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAoB,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,gCAAgC,EAChC,cAAc,EACd,eAAe,EAEf,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAGpC,qBACa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,kBAAkB,EAAE,kBAAkB;gBADrC,cAAc,EAAE,0BAA0B,EAC3C,kBAAkB,EAAE,kBAAkB;IAGlD,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE;QAChD,GAAG,EAAE,UAAU,CAAC;QAChB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,oBAAoB,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IA4BrD,eAAe,CAAC,KAAK,EAAE;QAAE,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE;IAmCzF,eAAe,CAAC,KAAK,EAAE;QAAE,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE;YA6CjF,cAAc;YAQd,cAAc;IAOtB,gBAAgB,CAAC,EAAE,EAAE,MAAM;YAMnB,gBAAgB;IAiBxB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE;QAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CA+B/B"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DataImportManagerService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const domain_1 = require("../../domain");
15
+ const utils_1 = require("../../utils");
16
+ const data_import_resource_1 = require("../services/data-import.resource");
17
+ const data_import_utils_1 = require("../utils/data-import.utils");
18
+ let DataImportManagerService = class DataImportManagerService {
19
+ constructor(dataImportRepo, dataImportResource) {
20
+ this.dataImportRepo = dataImportRepo;
21
+ this.dataImportResource = dataImportResource;
22
+ }
23
+ async validateDataImport(props) {
24
+ const { doc, validationService, afterSheetValidation, fields } = props;
25
+ const response = await (0, data_import_utils_1.validateDataImportFileFn)({
26
+ doc: doc,
27
+ fields: fields,
28
+ keepUnknownFields: !!props.keepUnknownFields,
29
+ validationService: validationService,
30
+ afterSheetValidation: afterSheetValidation,
31
+ });
32
+ if (response.validationResult) {
33
+ await this.updateFileData(doc.id, response.validationResult);
34
+ }
35
+ else {
36
+ await this.removeFileData(doc);
37
+ }
38
+ if (response.error) {
39
+ await this.dataImportRepo.updateError(doc.id, response.error);
40
+ }
41
+ return {
42
+ success: response.success,
43
+ data: response.validationResult?.data ?? [],
44
+ otherData: response.otherData,
45
+ };
46
+ }
47
+ async startValidation(props) {
48
+ const { dataImportService, dataImport } = props;
49
+ if (dataImport.status !== domain_1.DataImportStatus.VALIDATION_PENDING &&
50
+ dataImport.status !== domain_1.DataImportStatus.VALIDATION_IN_PROGRESS) {
51
+ return;
52
+ }
53
+ if (!dataImport.uploadedFile?.url) {
54
+ await this.dataImportRepo.failImport(dataImport.id, 'No file uploaded');
55
+ return;
56
+ }
57
+ if (!dataImportService) {
58
+ await this.dataImportRepo.failImport(dataImport.id, 'Invalid import data type, unable to validate');
59
+ return;
60
+ }
61
+ dataImport.status = domain_1.DataImportStatus.VALIDATION_IN_PROGRESS;
62
+ await this.dataImportRepo.updateStatus(dataImport.id, dataImport.status, null);
63
+ try {
64
+ await dataImportService.validate(dataImport);
65
+ await this.dataImportRepo.makeImportAsCreated(dataImport.id);
66
+ }
67
+ catch (error) {
68
+ const errorMessage = error['message'] || 'Failed to validate data';
69
+ await this.dataImportRepo.failImport(dataImport.id, errorMessage, (0, utils_1.formatError)(error));
70
+ }
71
+ }
72
+ async startDataImport(props) {
73
+ const { dataImportService, dataImport } = props;
74
+ if (dataImport.status !== domain_1.DataImportStatus.PENDING &&
75
+ dataImport.status !== domain_1.DataImportStatus.IN_PROGRESS) {
76
+ return;
77
+ }
78
+ if (!dataImport.uploadedFile?.url) {
79
+ await this.dataImportRepo.failImport(dataImport.id, 'No file uploaded');
80
+ return;
81
+ }
82
+ if (!dataImportService) {
83
+ await this.dataImportRepo.failImport(dataImport.id, 'Invalid import data type, unable to start import');
84
+ return;
85
+ }
86
+ dataImport.status = domain_1.DataImportStatus.IN_PROGRESS;
87
+ await this.dataImportRepo.updateStatus(dataImport.id, dataImport.status, null);
88
+ try {
89
+ const fileResult = await dataImportService.validate(dataImport);
90
+ if (!fileResult.success) {
91
+ await this.dataImportRepo.failImport(dataImport.id);
92
+ return;
93
+ }
94
+ await dataImportService.import({
95
+ data: fileResult.data,
96
+ doc: dataImport,
97
+ otherData: fileResult.otherData,
98
+ });
99
+ await this.dataImportRepo.completeImport(dataImport.id);
100
+ }
101
+ catch (error) {
102
+ const errorMessage = error['message'] || 'Failed to import data';
103
+ await this.dataImportRepo.failImport(dataImport.id, errorMessage, (0, utils_1.formatError)(error));
104
+ }
105
+ }
106
+ async updateFileData(id, data) {
107
+ const fileData = await this.dataImportResource.uploadFileData({
108
+ typeId: id,
109
+ data: data,
110
+ });
111
+ await this.dataImportRepo.updateUploadedData(id, fileData);
112
+ }
113
+ async removeFileData(doc) {
114
+ if (!doc.uploadedData)
115
+ return;
116
+ await this.dataImportResource.removeFileData(doc.id, doc.uploadedData?.key);
117
+ await this.dataImportRepo.removeUploadedData(doc.id);
118
+ }
119
+ async deleteDataImport(id) {
120
+ await this.dataImportResource.removeFileData(id);
121
+ await this.dataImportResource.removeFile(id);
122
+ await this.dataImportRepo.deleteById(id);
123
+ }
124
+ async uploadExportFile(props) {
125
+ const buffer = (0, utils_1.toXlsx)({
126
+ data: props.data,
127
+ headers: props.headers,
128
+ sheetName: 'Export',
129
+ });
130
+ return this.dataImportResource.uploadExportData({
131
+ buffer: buffer,
132
+ originalFileName: props.fileName + '.xlsx',
133
+ });
134
+ }
135
+ async formatExportData(props) {
136
+ const { headers, data, fileName } = props;
137
+ const value = data.map((item) => {
138
+ const obj = {};
139
+ headers.forEach((header) => {
140
+ obj[header] = item[header];
141
+ });
142
+ return obj;
143
+ });
144
+ if (value.length <= 250) {
145
+ return {
146
+ isFile: false,
147
+ headers: headers,
148
+ data: value,
149
+ };
150
+ }
151
+ const file = await this.uploadExportFile({
152
+ data: value,
153
+ fileName: fileName,
154
+ headers: headers,
155
+ });
156
+ return {
157
+ isFile: true,
158
+ file: file,
159
+ };
160
+ }
161
+ };
162
+ exports.DataImportManagerService = DataImportManagerService;
163
+ exports.DataImportManagerService = DataImportManagerService = __decorate([
164
+ (0, common_1.Injectable)(),
165
+ __metadata("design:paramtypes", [domain_1.GlobalDataImportRepository,
166
+ data_import_resource_1.DataImportResource])
167
+ ], DataImportManagerService);
168
+ //# sourceMappingURL=data-import-manager.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import-manager.service.js","sourceRoot":"","sources":["../../../src/data-imports-manager/services/data-import-manager.service.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,22 @@
1
1
  /// <reference types="multer" />
2
2
  /// <reference types="node" />
3
- import { MediaRecordsManager } from '../media';
3
+ import { MediaRecordsManager } from '../../media';
4
4
  export declare class DataImportResource {
5
5
  private readonly manager;
6
6
  constructor(manager: MediaRecordsManager);
7
7
  uploadFile(props: {
8
8
  file: Express.Multer.File;
9
9
  typeId: string;
10
- }): Promise<import("..").MediaRecord>;
10
+ }): Promise<import("../..").MediaRecord>;
11
11
  uploadFileData(props: {
12
12
  typeId: string;
13
13
  data: any;
14
- }): Promise<import("..").MediaRecord>;
14
+ }): Promise<import("../..").MediaRecord>;
15
15
  removeFile(typeId: string, key?: string): Promise<void>;
16
16
  removeFileData(typeId: string, key?: string): Promise<void>;
17
17
  uploadExportData(props: {
18
18
  buffer: Buffer;
19
19
  originalFileName: string;
20
- }): Promise<import("..").MediaRecord>;
20
+ }): Promise<import("../..").MediaRecord>;
21
21
  }
22
22
  //# sourceMappingURL=data-import.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.resource.d.ts","sourceRoot":"","sources":["../../../src/data-imports-manager/services/data-import.resource.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlD,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEnD,UAAU,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAoC/D,cAAc,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IA8BnD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAevC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAe3C,gBAAgB,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE;CAwB3E"}
@@ -11,9 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DataImportResource = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
- const media_1 = require("../media");
15
- const request_store_1 = require("../request-store");
16
- const utils_1 = require("../utils");
14
+ const media_1 = require("../../media");
15
+ const request_store_1 = require("../../request-store");
16
+ const utils_1 = require("../../utils");
17
17
  const type = 'data-imports';
18
18
  const subtype = 'files';
19
19
  const dataSubtype = 'file-data';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.resource.js","sourceRoot":"","sources":["../../../src/data-imports-manager/services/data-import.resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { ExportFilter, ExportFilterData } from '../../data-export-fields-manager';
2
+ import { DataImport, MediaRecord } from '../../domain';
3
+ import { SheetValidationType } from '../constants/data-import.constants';
4
+ export type DataImportFieldGroup = {
5
+ slno: number;
6
+ name: string;
7
+ };
8
+ export type DataImportFieldDetails<T = any> = {
9
+ group?: DataImportFieldGroup;
10
+ createFieldType: (typeof SheetValidationType)[keyof typeof SheetValidationType];
11
+ updateFieldType: (typeof SheetValidationType)[keyof typeof SheetValidationType];
12
+ validation: (value: unknown | null, validationType: (typeof SheetValidationType)[keyof typeof SheetValidationType], currentValue: Partial<T>, operationType: string) => {
13
+ value: unknown | null;
14
+ errors: string[];
15
+ };
16
+ };
17
+ export type DataImportFields<T = any> = {
18
+ [key in keyof Required<T>]: DataImportFieldDetails<T>;
19
+ };
20
+ export type DataImportField<T = any> = DataImportFieldDetails<T> & {
21
+ name: string;
22
+ };
23
+ export type DataImportData<T = any> = {
24
+ isFile: boolean;
25
+ headers?: string[];
26
+ data?: T[];
27
+ file?: MediaRecord;
28
+ };
29
+ export type DataImportFieldError = {
30
+ index: number;
31
+ field: string;
32
+ messages: string[];
33
+ };
34
+ export type DataImportValidationResult<T = any> = {
35
+ fields: Array<DataImportField<T>>;
36
+ data: Array<T>;
37
+ errors: Array<DataImportFieldError>;
38
+ };
39
+ export type DataImportAfterSheetValidationFn<T = any> = (data: T[]) => {
40
+ data: T[];
41
+ errors?: DataImportFieldError[];
42
+ error?: string;
43
+ } | Promise<{
44
+ data: T[];
45
+ errors?: DataImportFieldError[];
46
+ error?: string;
47
+ }>;
48
+ export interface IDataImportService<T = any, D = any> {
49
+ fieldValidations(): Promise<DataImportFields<T>>;
50
+ fields(): Promise<Array<DataImportField<T>>>;
51
+ exportFilters(): ExportFilter[];
52
+ sampleData(filterData: ExportFilterData): Promise<DataImportData<T>>;
53
+ exportData(filterData: ExportFilterData): Promise<DataImportData<T>>;
54
+ validate(doc: DataImport): Promise<{
55
+ success: boolean;
56
+ data: T[];
57
+ otherData?: D;
58
+ }>;
59
+ validateInsertRecords(data: T[]): Promise<{
60
+ errors: DataImportFieldError[];
61
+ otherData: D;
62
+ }>;
63
+ validateUpdateRecords(data: T[]): Promise<{
64
+ errors: DataImportFieldError[];
65
+ otherData: D;
66
+ }>;
67
+ import(props: {
68
+ data: T[];
69
+ doc: DataImport;
70
+ otherData: D;
71
+ }): Promise<void>;
72
+ }
73
+ export interface DataImportHandler {
74
+ getFields(type: string): Promise<{
75
+ fields: DataImportField[];
76
+ filters: ExportFilter[];
77
+ }>;
78
+ sampleData(filterData: ExportFilterData): Promise<DataImportData>;
79
+ exportData(filterData: ExportFilterData): Promise<DataImportData>;
80
+ validateDataImport(data: {
81
+ dataImportId: string;
82
+ }): Promise<void>;
83
+ startDataImport(data: {
84
+ dataImportId: string;
85
+ }): Promise<void>;
86
+ }
87
+ //# sourceMappingURL=data-import.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.types.d.ts","sourceRoot":"","sources":["../../../src/data-imports-manager/types/data-import.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-import.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.types.js","sourceRoot":"","sources":["../../../src/data-imports-manager/types/data-import.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import * as Joi from 'joi';
2
+ import { DataImport } from '../../domain';
3
+ import { SheetValidationType } from '../constants/data-import.constants';
4
+ import { DataImportAfterSheetValidationFn, DataImportField, DataImportFieldGroup, DataImportFields, DataImportValidationResult, IDataImportService } from '../types/data-import.types';
5
+ export declare function validateDataImportFileFn<T = any, D = any>(props: {
6
+ doc: DataImport;
7
+ fields: DataImportField<T>[];
8
+ keepUnknownFields: boolean;
9
+ validationService: IDataImportService<T, D>;
10
+ afterSheetValidation?: DataImportAfterSheetValidationFn<T>;
11
+ }): Promise<{
12
+ success: boolean;
13
+ validationResult?: DataImportValidationResult<T>;
14
+ error?: string;
15
+ otherData?: D;
16
+ }>;
17
+ export declare function validateFieldParser(props: {
18
+ schema: Joi.Schema;
19
+ value: unknown;
20
+ validationType?: (typeof SheetValidationType)[keyof typeof SheetValidationType];
21
+ }): {
22
+ value: any;
23
+ errors: string[];
24
+ };
25
+ export declare function assignFieldGroups<T = any>(value: DataImportFields<T>, group: DataImportFieldGroup): DataImportFields<T>;
26
+ export declare function getDataFields<T extends Object>(validations: DataImportFields<T>): DataImportField[];
27
+ //# sourceMappingURL=data-import.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.utils.d.ts","sourceRoot":"","sources":["../../../src/data-imports-manager/utils/data-import.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EACL,gCAAgC,EAChC,eAAe,EAGf,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC,wBAAsB,wBAAwB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE;IACtE,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,oBAAoB,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,CAAC;CACf,CAAC,CAkED;AA2ID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;CACjF;;;EAmBA;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EACvC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,oBAAoB,uBAM5B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC/B,eAAe,EAAE,CAOnB"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDataFields = exports.assignFieldGroups = exports.validateFieldParser = exports.validateDataImportFileFn = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const lodash_1 = require("lodash");
9
+ const domain_1 = require("../../domain");
10
+ const utils_1 = require("../../utils");
11
+ const data_import_constants_1 = require("../constants/data-import.constants");
12
+ async function validateDataImportFileFn(props) {
13
+ const { doc, validationService, afterSheetValidation, fields } = props;
14
+ /**
15
+ * Doing initial field validation, which includes
16
+ * 1. Document records extraction
17
+ * 2. Field type checks
18
+ * 3. Required field checks
19
+ */
20
+ const fileValidationRes = await validateFileData({
21
+ doc: doc,
22
+ fields: fields,
23
+ keepUnknownFields: props.keepUnknownFields,
24
+ });
25
+ /* If there are any errors then return the errors */
26
+ if (fileValidationRes.errors.length) {
27
+ return {
28
+ success: false,
29
+ validationResult: fileValidationRes,
30
+ };
31
+ }
32
+ /* If there are no records found in the file then return error */
33
+ if (!fileValidationRes.data.length) {
34
+ return {
35
+ success: false,
36
+ error: 'No records found to import',
37
+ };
38
+ }
39
+ /* If afterSheetValidation is present then run the custom sheet validation */
40
+ let data = fileValidationRes.data;
41
+ if (afterSheetValidation) {
42
+ const customValidationRes = await afterSheetValidation(data);
43
+ data = customValidationRes.data;
44
+ const errors = customValidationRes.errors ?? [];
45
+ const error = customValidationRes.error;
46
+ if (errors.length || error) {
47
+ return {
48
+ success: false,
49
+ validationResult: {
50
+ fields: fileValidationRes.fields,
51
+ data: data,
52
+ errors: errors,
53
+ },
54
+ error: error,
55
+ };
56
+ }
57
+ }
58
+ const validationRes = doc.importType === domain_1.DataImportImportTypes.INSERT
59
+ ? await validationService.validateInsertRecords(data)
60
+ : await validationService.validateUpdateRecords(data);
61
+ return {
62
+ success: !validationRes.errors.length,
63
+ validationResult: {
64
+ fields: fileValidationRes.fields,
65
+ data: data,
66
+ errors: uniqDataImportFieldErrors(validationRes.errors),
67
+ },
68
+ otherData: validationRes.otherData,
69
+ };
70
+ }
71
+ exports.validateDataImportFileFn = validateDataImportFileFn;
72
+ async function validateFileData(props) {
73
+ const { doc, fields } = props;
74
+ /* If the file is not uploaded then return empty data */
75
+ if (!doc.uploadedFile) {
76
+ return validateData({
77
+ fields: fields,
78
+ importType: doc.importType,
79
+ keepUnknownFields: props.keepUnknownFields,
80
+ docData: [],
81
+ });
82
+ }
83
+ /* Getting the file and converting it to buffer and then to doc records */
84
+ const fileBuffer = await getFile(doc.uploadedFile.url);
85
+ const docData = await (0, utils_1.xlsxBufferToJson)(fileBuffer);
86
+ return validateData({
87
+ fields: fields,
88
+ importType: doc.importType,
89
+ keepUnknownFields: props.keepUnknownFields,
90
+ docData: docData,
91
+ });
92
+ }
93
+ async function getFile(url) {
94
+ const file = await axios_1.default.get(url, { responseType: 'arraybuffer' });
95
+ return file.data;
96
+ }
97
+ function validateData(props) {
98
+ const { fields, docData, importType } = props;
99
+ /* Field Error List */
100
+ const errors = [];
101
+ /* Data List After Validation and Preprocessing */
102
+ const data = [];
103
+ /* Headers List, For the fields which are present in the import sheet */
104
+ const headers = {};
105
+ const fieldsMap = (0, lodash_1.keyBy)(fields, (v) => v.name);
106
+ /* Loop through each row of the sheet */
107
+ docData.forEach((item, index) => {
108
+ const fieldErrors = [];
109
+ const validatedDataItem = {};
110
+ /* Looping all the fields present in the import type feilds */
111
+ fields.forEach((field) => {
112
+ /* Get the original value of the field */
113
+ const value = item[field.name];
114
+ /* Get the field type based on the import type */
115
+ const fieldType = importType === domain_1.DataImportImportTypes.INSERT ? field.createFieldType : field.updateFieldType;
116
+ /* Validating the field only if it is needed */
117
+ if (fieldType !== data_import_constants_1.SheetValidationType.NOT_NEEDED) {
118
+ const { value: validatedValue, errors: validatedErrors } = field.validation(value, fieldType, validatedDataItem, importType);
119
+ validatedDataItem[field.name] = validatedValue;
120
+ if (validatedErrors.length) {
121
+ fieldErrors.push({
122
+ index: index,
123
+ field: field.name,
124
+ messages: validatedErrors,
125
+ });
126
+ }
127
+ /* If the field has value or it is required or it has errors then add it to the headers */
128
+ if (validatedValue ||
129
+ fieldType === data_import_constants_1.SheetValidationType.REQUIRED ||
130
+ validatedErrors.length) {
131
+ headers[field.name] = field;
132
+ }
133
+ }
134
+ });
135
+ /* If keepUnknownFields is true then keep the fields which are not present in the import type fields */
136
+ if (props.keepUnknownFields) {
137
+ const validatedDataKeys = Object.keys(validatedDataItem);
138
+ const itemKeys = Object.keys(item);
139
+ const unknownKeys = itemKeys.filter((key) => !validatedDataKeys.includes(key));
140
+ unknownKeys.forEach((key) => {
141
+ validatedDataItem[key] = item[key];
142
+ if (!fieldsMap[key] && !headers[key]) {
143
+ headers[key] = {
144
+ name: key,
145
+ createFieldType: data_import_constants_1.SheetValidationType.NOT_NEEDED,
146
+ updateFieldType: data_import_constants_1.SheetValidationType.NOT_NEEDED,
147
+ validation: (value) => {
148
+ return { value: value, errors: [] };
149
+ },
150
+ };
151
+ }
152
+ });
153
+ }
154
+ /* If there are any errors then add them to the errors list and add the current row to data list */
155
+ errors.push(...fieldErrors);
156
+ data.push(validatedDataItem);
157
+ });
158
+ return { data: data, errors: errors, fields: Object.values(headers) };
159
+ }
160
+ function uniqDataImportFieldErrors(errors) {
161
+ const values = (0, lodash_1.groupBy)(errors, (error) => `${error.index}-${error.field}`);
162
+ return Object.values(values).map((value) => {
163
+ return {
164
+ index: value[0].index,
165
+ field: value[0].field,
166
+ messages: (0, lodash_1.uniq)(value.flatMap((error) => error.messages)),
167
+ };
168
+ });
169
+ }
170
+ function validateFieldParser(props) {
171
+ const { value, validationType } = props;
172
+ let schema = props.schema;
173
+ if (validationType) {
174
+ if (validationType === data_import_constants_1.SheetValidationType.REQUIRED) {
175
+ schema = schema.required();
176
+ }
177
+ if (validationType === data_import_constants_1.SheetValidationType.OPTIONAL) {
178
+ schema = schema.empty('').optional();
179
+ }
180
+ }
181
+ const result = schema.validate(value);
182
+ const errors = result.error?.details?.map((v) => v.message) || [];
183
+ return {
184
+ value: result.value,
185
+ errors: errors,
186
+ };
187
+ }
188
+ exports.validateFieldParser = validateFieldParser;
189
+ function assignFieldGroups(value, group) {
190
+ for (const [_, field] of Object.entries(value)) {
191
+ field['group'] = group;
192
+ }
193
+ return value;
194
+ }
195
+ exports.assignFieldGroups = assignFieldGroups;
196
+ function getDataFields(validations) {
197
+ return Object.entries(validations).map(([name, value]) => {
198
+ return {
199
+ name: name,
200
+ ...value,
201
+ };
202
+ });
203
+ }
204
+ exports.getDataFields = getDataFields;
205
+ //# sourceMappingURL=data-import.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-import.utils.js","sourceRoot":"","sources":["../../../src/data-imports-manager/utils/data-import.utils.ts"],"names":[],"mappings":"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"}
@@ -120,7 +120,7 @@ let SQSQueueHandler = class SQSQueueHandler {
120
120
  if (!queueOptions.executionTypes ||
121
121
  queueOptions.executionTypes.includes(message_queue_types_1.QueueExecutionType.RECEIVE)) {
122
122
  const defaultConsumerOptions = {
123
- visibilityTimeout: 80,
123
+ visibilityTimeout: 90,
124
124
  heartbeatInterval: 60,
125
125
  terminateVisibilityTimeout: true,
126
126
  batchSize: 10,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/server-shared",
3
- "version": "1.6.50",
3
+ "version": "1.6.51",
4
4
  "description": "Campx server shared files",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
@@ -1,129 +0,0 @@
1
- import * as Joi from 'joi';
2
- import { ExportFilter, ExportFilterData } from '../data-export-fields-manager';
3
- import { DataImport, GlobalDataImportRepository, MediaRecord } from '../domain';
4
- import { DataImportResource } from './data-import.resource';
5
- export declare const SheetValidationType: Readonly<{
6
- OPTIONAL: "OPTIONAL";
7
- REQUIRED: "REQUIRED";
8
- NOT_NEEDED: "NOT_NEEDED";
9
- }>;
10
- export type DataImportFieldGroup = {
11
- slno: number;
12
- name: string;
13
- };
14
- export type DataImportFieldDetails<T = any> = {
15
- group?: DataImportFieldGroup;
16
- createFieldType: (typeof SheetValidationType)[keyof typeof SheetValidationType];
17
- updateFieldType: (typeof SheetValidationType)[keyof typeof SheetValidationType];
18
- validation: (value: unknown | null, validationType: (typeof SheetValidationType)[keyof typeof SheetValidationType], currentValue: Partial<T>, operationType: string) => {
19
- value: unknown | null;
20
- errors: string[];
21
- };
22
- };
23
- export type DataImportField<T = any> = DataImportFieldDetails<T> & {
24
- name: string;
25
- };
26
- export type DataImportData<T = any> = {
27
- isFile: boolean;
28
- headers?: string[];
29
- data?: T[];
30
- file?: MediaRecord;
31
- };
32
- export type DataImportFields<T = any> = {
33
- [key in keyof Required<T>]: DataImportFieldDetails<T>;
34
- };
35
- export type DataImportFieldError = {
36
- index: number;
37
- field: string;
38
- messages: string[];
39
- };
40
- export type DataImportValidationResult<T = any> = {
41
- fields: Array<DataImportField<T>>;
42
- data: Array<T>;
43
- errors: Array<DataImportFieldError>;
44
- };
45
- export interface IDataImportService<T = any> {
46
- fieldValidations(): Promise<DataImportFields<T>>;
47
- fields(): Promise<Array<DataImportField<T>>>;
48
- exportFilters(): ExportFilter[];
49
- sampleData(filterData: ExportFilterData): Promise<DataImportData<T>>;
50
- exportData(filterData: ExportFilterData): Promise<DataImportData<T>>;
51
- validate(doc: DataImport): Promise<{
52
- success: boolean;
53
- data: T[];
54
- }>;
55
- import(props: {
56
- data: T[];
57
- doc: DataImport;
58
- }): Promise<void>;
59
- }
60
- export interface IDataImportValidationService<T = any> {
61
- validateInsertRecords(data: T[]): Promise<DataImportFieldError[]>;
62
- validateUpdateRecords(data: T[]): Promise<DataImportFieldError[]>;
63
- }
64
- export interface DataImportHandler {
65
- getFields(type: string): Promise<{
66
- fields: DataImportField[];
67
- filters: ExportFilter[];
68
- }>;
69
- sampleData(filterData: ExportFilterData): Promise<DataImportData>;
70
- exportData(filterData: ExportFilterData): Promise<DataImportData>;
71
- validateDataImport(data: {
72
- dataImportId: string;
73
- }): Promise<void>;
74
- startDataImport(data: {
75
- dataImportId: string;
76
- }): Promise<void>;
77
- }
78
- export declare function validateFieldParser(props: {
79
- schema: Joi.Schema;
80
- value: unknown;
81
- validationType?: (typeof SheetValidationType)[keyof typeof SheetValidationType];
82
- }): {
83
- value: any;
84
- errors: string[];
85
- };
86
- export declare function assignFieldGroups<T = any>(value: DataImportFields<T>, group: DataImportFieldGroup): DataImportFields<T>;
87
- export declare function uniqDataImportFieldErrors(errors: DataImportFieldError[]): DataImportFieldError[];
88
- export declare function getDataFields<T extends Object>(validations: DataImportFields<T>): DataImportField[];
89
- export declare class DataImportManagerService {
90
- private readonly dataImportRepo;
91
- readonly dataImportResource: DataImportResource;
92
- constructor(dataImportRepo: GlobalDataImportRepository, dataImportResource: DataImportResource);
93
- validateDataImport<T = any>(props: {
94
- doc: DataImport;
95
- fields: DataImportField<T>[];
96
- keepUnknownFields?: boolean;
97
- validationService: IDataImportValidationService<T>;
98
- afterSheetValidation?: (data: T[]) => {
99
- data: T[];
100
- errors?: DataImportFieldError[];
101
- error?: string;
102
- } | Promise<{
103
- data: T[];
104
- errors?: DataImportFieldError[];
105
- error?: string;
106
- }>;
107
- }): Promise<{
108
- success: boolean;
109
- data: T[];
110
- }>;
111
- startValidation(props: {
112
- dataImportService?: IDataImportService;
113
- dataImport: DataImport;
114
- }): Promise<void>;
115
- startDataImport(props: {
116
- dataImportService?: IDataImportService;
117
- dataImport: DataImport;
118
- }): Promise<void>;
119
- private updateFileData;
120
- private removeFileData;
121
- deleteDataImport(id: string): Promise<void>;
122
- private uploadExportFile;
123
- formatExportData<T>(props: {
124
- headers: string[];
125
- data: T[];
126
- fileName: string;
127
- }): Promise<DataImportData<T>>;
128
- }
129
- //# sourceMappingURL=data-import-manager.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-import-manager.service.d.ts","sourceRoot":"","sources":["../../src/data-imports-manager/data-import-manager.service.ts"],"names":[],"mappings":"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"}
@@ -1,336 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DataImportManagerService = exports.getDataFields = exports.uniqDataImportFieldErrors = exports.assignFieldGroups = exports.validateFieldParser = exports.SheetValidationType = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const axios_1 = __importDefault(require("axios"));
18
- const lodash_1 = require("lodash");
19
- const domain_1 = require("../domain");
20
- const utils_1 = require("../utils");
21
- const data_import_resource_1 = require("./data-import.resource");
22
- exports.SheetValidationType = Object.freeze({
23
- OPTIONAL: 'OPTIONAL',
24
- REQUIRED: 'REQUIRED',
25
- NOT_NEEDED: 'NOT_NEEDED',
26
- });
27
- function validateFieldParser(props) {
28
- const { value, validationType } = props;
29
- let schema = props.schema;
30
- if (validationType) {
31
- if (validationType === exports.SheetValidationType.REQUIRED) {
32
- schema = schema.required();
33
- }
34
- if (validationType === exports.SheetValidationType.OPTIONAL) {
35
- schema = schema.empty('').optional();
36
- }
37
- }
38
- const result = schema.validate(value);
39
- const errors = result.error?.details?.map((v) => v.message) || [];
40
- return {
41
- value: result.value,
42
- errors: errors,
43
- };
44
- }
45
- exports.validateFieldParser = validateFieldParser;
46
- function assignFieldGroups(value, group) {
47
- for (const [_, field] of Object.entries(value)) {
48
- field['group'] = group;
49
- }
50
- return value;
51
- }
52
- exports.assignFieldGroups = assignFieldGroups;
53
- function uniqDataImportFieldErrors(errors) {
54
- const values = (0, lodash_1.groupBy)(errors, (error) => `${error.index}-${error.field}`);
55
- return Object.values(values).map((value) => {
56
- return {
57
- index: value[0].index,
58
- field: value[0].field,
59
- messages: (0, lodash_1.uniq)(value.flatMap((error) => error.messages)),
60
- };
61
- });
62
- }
63
- exports.uniqDataImportFieldErrors = uniqDataImportFieldErrors;
64
- function getDataFields(validations) {
65
- return Object.entries(validations).map(([name, value]) => {
66
- return {
67
- name: name,
68
- ...value,
69
- };
70
- });
71
- }
72
- exports.getDataFields = getDataFields;
73
- async function getFile(url) {
74
- const file = await axios_1.default.get(url, { responseType: 'arraybuffer' });
75
- return file.data;
76
- }
77
- function validateData(props) {
78
- const { fields, docData, importType } = props;
79
- const errors = [];
80
- const data = [];
81
- const headers = {};
82
- const fieldsMap = (0, lodash_1.keyBy)(fields, (v) => v.name);
83
- docData.forEach((item, index) => {
84
- const fieldErrors = [];
85
- const validatedDataItem = {};
86
- fields.forEach((field) => {
87
- const value = item[field.name];
88
- const fieldType = importType === domain_1.DataImportImportTypes.INSERT ? field.createFieldType : field.updateFieldType;
89
- if (fieldType !== exports.SheetValidationType.NOT_NEEDED) {
90
- const { value: validatedValue, errors: validatedErrors } = field.validation(value, fieldType, validatedDataItem, importType);
91
- validatedDataItem[field.name] = validatedValue;
92
- if (validatedErrors.length) {
93
- fieldErrors.push({
94
- index: index,
95
- field: field.name,
96
- messages: validatedErrors,
97
- });
98
- }
99
- if (validatedValue ||
100
- fieldType === exports.SheetValidationType.REQUIRED ||
101
- validatedErrors.length) {
102
- headers[field.name] = field;
103
- }
104
- }
105
- });
106
- if (props.keepUnknownFields) {
107
- const validatedDataKeys = Object.keys(validatedDataItem);
108
- const itemKeys = Object.keys(item);
109
- const unknownKeys = itemKeys.filter((key) => !validatedDataKeys.includes(key));
110
- unknownKeys.forEach((key) => {
111
- validatedDataItem[key] = item[key];
112
- if (!fieldsMap[key] && !headers[key]) {
113
- headers[key] = {
114
- name: key,
115
- createFieldType: exports.SheetValidationType.NOT_NEEDED,
116
- updateFieldType: exports.SheetValidationType.NOT_NEEDED,
117
- validation: (value) => {
118
- return { value: value, errors: [] };
119
- },
120
- };
121
- }
122
- });
123
- }
124
- errors.push(...fieldErrors);
125
- data.push(validatedDataItem);
126
- });
127
- return { data: data, errors: errors, fields: Object.values(headers) };
128
- }
129
- async function validateFileData(props) {
130
- const { doc, fields } = props;
131
- if (!doc.uploadedFile) {
132
- return validateData({
133
- fields: fields,
134
- keepUnknownFields: props.keepUnknownFields,
135
- docData: [],
136
- importType: doc.importType,
137
- });
138
- }
139
- const fileBuffer = await getFile(doc.uploadedFile.url);
140
- const docData = await (0, utils_1.xlsxBufferToJson)(fileBuffer);
141
- return validateData({
142
- fields: fields,
143
- docData: docData,
144
- importType: doc.importType,
145
- keepUnknownFields: props.keepUnknownFields,
146
- });
147
- }
148
- async function validateDataImportFileFn(props) {
149
- const { doc, validationService, afterSheetValidation, fields } = props;
150
- const fileRecords = await validateFileData({
151
- doc: doc,
152
- fields: fields,
153
- keepUnknownFields: props.keepUnknownFields,
154
- });
155
- if (fileRecords.errors.length) {
156
- return { success: false, validationResult: fileRecords };
157
- }
158
- if (!fileRecords.data.length) {
159
- return { success: false, error: 'No records found to import' };
160
- }
161
- let data = fileRecords.data;
162
- if (afterSheetValidation) {
163
- const customValidation = await afterSheetValidation(data);
164
- data = customValidation.data;
165
- const errors = customValidation.errors ?? [];
166
- const error = customValidation.error;
167
- if (errors.length || error) {
168
- return {
169
- success: false,
170
- validationResult: {
171
- fields: fileRecords.fields,
172
- data: data,
173
- errors: errors,
174
- },
175
- error: error,
176
- };
177
- }
178
- }
179
- const errors = doc.importType === domain_1.DataImportImportTypes.INSERT
180
- ? await validationService.validateInsertRecords(data)
181
- : await validationService.validateUpdateRecords(data);
182
- return {
183
- success: !errors.length,
184
- validationResult: {
185
- fields: fileRecords.fields,
186
- data: data,
187
- errors: uniqDataImportFieldErrors(errors),
188
- },
189
- };
190
- }
191
- let DataImportManagerService = class DataImportManagerService {
192
- constructor(dataImportRepo, dataImportResource) {
193
- this.dataImportRepo = dataImportRepo;
194
- this.dataImportResource = dataImportResource;
195
- }
196
- async validateDataImport(props) {
197
- const { doc, validationService, afterSheetValidation, fields } = props;
198
- const response = await validateDataImportFileFn({
199
- doc: doc,
200
- fields: fields,
201
- keepUnknownFields: !!props.keepUnknownFields,
202
- validationService: validationService,
203
- afterSheetValidation: afterSheetValidation,
204
- });
205
- if (response.validationResult) {
206
- await this.updateFileData(doc.id, response.validationResult);
207
- }
208
- else {
209
- await this.removeFileData(doc);
210
- }
211
- if (response.error) {
212
- await this.dataImportRepo.updateError(doc.id, response.error);
213
- }
214
- return { success: response.success, data: response.validationResult?.data ?? [] };
215
- }
216
- async startValidation(props) {
217
- const { dataImportService, dataImport } = props;
218
- if (dataImport.status !== domain_1.DataImportStatus.VALIDATION_PENDING &&
219
- dataImport.status !== domain_1.DataImportStatus.VALIDATION_IN_PROGRESS) {
220
- return;
221
- }
222
- if (!dataImport.uploadedFile?.url) {
223
- await this.dataImportRepo.failImport(dataImport.id, 'No file uploaded');
224
- return;
225
- }
226
- if (!dataImportService) {
227
- await this.dataImportRepo.failImport(dataImport.id, 'Invalid import data type, unable to validate');
228
- return;
229
- }
230
- dataImport.status = domain_1.DataImportStatus.VALIDATION_IN_PROGRESS;
231
- await this.dataImportRepo.updateStatus(dataImport.id, dataImport.status, null);
232
- try {
233
- await dataImportService.validate(dataImport);
234
- await this.dataImportRepo.makeImportAsCreated(dataImport.id);
235
- }
236
- catch (error) {
237
- const errorMessage = error['message'] || 'Failed to validate data';
238
- await this.dataImportRepo.failImport(dataImport.id, errorMessage, (0, utils_1.formatError)(error));
239
- }
240
- }
241
- async startDataImport(props) {
242
- const { dataImportService, dataImport } = props;
243
- if (dataImport.status !== domain_1.DataImportStatus.PENDING &&
244
- dataImport.status !== domain_1.DataImportStatus.IN_PROGRESS) {
245
- return;
246
- }
247
- if (!dataImport.uploadedFile?.url) {
248
- await this.dataImportRepo.failImport(dataImport.id, 'No file uploaded');
249
- return;
250
- }
251
- if (!dataImportService) {
252
- await this.dataImportRepo.failImport(dataImport.id, 'Invalid import data type, unable to start import');
253
- return;
254
- }
255
- dataImport.status = domain_1.DataImportStatus.IN_PROGRESS;
256
- await this.dataImportRepo.updateStatus(dataImport.id, dataImport.status, null);
257
- try {
258
- const fileResult = await dataImportService.validate(dataImport);
259
- if (!fileResult.success) {
260
- await this.dataImportRepo.failImport(dataImport.id);
261
- return;
262
- }
263
- await dataImportService.import({
264
- data: fileResult.data,
265
- doc: dataImport,
266
- });
267
- await this.dataImportRepo.completeImport(dataImport.id);
268
- }
269
- catch (error) {
270
- const errorMessage = error['message'] || 'Failed to import data';
271
- await this.dataImportRepo.failImport(dataImport.id, errorMessage, (0, utils_1.formatError)(error));
272
- }
273
- }
274
- async updateFileData(id, data) {
275
- const fileData = await this.dataImportResource.uploadFileData({
276
- typeId: id,
277
- data: data,
278
- });
279
- await this.dataImportRepo.updateUploadedData(id, fileData);
280
- }
281
- async removeFileData(doc) {
282
- if (!doc.uploadedData)
283
- return;
284
- await this.dataImportResource.removeFileData(doc.id, doc.uploadedData?.key);
285
- await this.dataImportRepo.removeUploadedData(doc.id);
286
- }
287
- async deleteDataImport(id) {
288
- await this.dataImportResource.removeFileData(id);
289
- await this.dataImportResource.removeFile(id);
290
- await this.dataImportRepo.deleteById(id);
291
- }
292
- async uploadExportFile(props) {
293
- const buffer = (0, utils_1.toXlsx)({
294
- data: props.data,
295
- headers: props.headers,
296
- sheetName: 'Export',
297
- });
298
- return this.dataImportResource.uploadExportData({
299
- buffer: buffer,
300
- originalFileName: props.fileName + '.xlsx',
301
- });
302
- }
303
- async formatExportData(props) {
304
- const { headers, data, fileName } = props;
305
- const value = data.map((item) => {
306
- const obj = {};
307
- headers.forEach((header) => {
308
- obj[header] = item[header];
309
- });
310
- return obj;
311
- });
312
- if (value.length <= 250) {
313
- return {
314
- isFile: false,
315
- headers: headers,
316
- data: value,
317
- };
318
- }
319
- const file = await this.uploadExportFile({
320
- data: value,
321
- fileName: fileName,
322
- headers: headers,
323
- });
324
- return {
325
- isFile: true,
326
- file: file,
327
- };
328
- }
329
- };
330
- exports.DataImportManagerService = DataImportManagerService;
331
- exports.DataImportManagerService = DataImportManagerService = __decorate([
332
- (0, common_1.Injectable)(),
333
- __metadata("design:paramtypes", [domain_1.GlobalDataImportRepository,
334
- data_import_resource_1.DataImportResource])
335
- ], DataImportManagerService);
336
- //# sourceMappingURL=data-import-manager.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-import-manager.service.js","sourceRoot":"","sources":["../../src/data-imports-manager/data-import-manager.service.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-import.resource.d.ts","sourceRoot":"","sources":["../../src/data-imports-manager/data-import.resource.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQ/C,qBACa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEnD,UAAU,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAoC/D,cAAc,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IA8BnD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAevC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAe3C,gBAAgB,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE;CAwB3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-import.resource.js","sourceRoot":"","sources":["../../src/data-imports-manager/data-import.resource.ts"],"names":[],"mappings":"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"}