@nest-omni/core 4.1.3-12 → 4.1.3-14

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 (72) hide show
  1. package/cache/dependencies/db.dependency.d.ts +55 -6
  2. package/cache/dependencies/db.dependency.js +64 -13
  3. package/common/boilerplate.polyfill.js +1 -1
  4. package/file-upload/decorators/column.decorator.d.ts +151 -0
  5. package/file-upload/decorators/column.decorator.js +273 -0
  6. package/file-upload/decorators/csv-data.decorator.d.ts +17 -31
  7. package/file-upload/decorators/csv-data.decorator.js +45 -91
  8. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  9. package/file-upload/decorators/csv-import.decorator.js +24 -0
  10. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  11. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  12. package/file-upload/decorators/excel-data.decorator.d.ts +15 -29
  13. package/file-upload/decorators/excel-data.decorator.js +42 -82
  14. package/file-upload/decorators/index.d.ts +3 -2
  15. package/file-upload/decorators/index.js +20 -2
  16. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  17. package/file-upload/decorators/validate-data.decorator.js +39 -0
  18. package/file-upload/dto/update-file.dto.d.ts +0 -1
  19. package/file-upload/dto/update-file.dto.js +0 -4
  20. package/file-upload/entities/file-metadata.entity.d.ts +6 -3
  21. package/file-upload/entities/file-metadata.entity.js +2 -10
  22. package/file-upload/entities/file.entity.d.ts +3 -18
  23. package/file-upload/entities/file.entity.js +0 -34
  24. package/file-upload/file-upload.module.d.ts +1 -1
  25. package/file-upload/file-upload.module.js +44 -16
  26. package/file-upload/index.d.ts +13 -2
  27. package/file-upload/index.js +21 -3
  28. package/file-upload/interceptors/file-upload.interceptor.d.ts +61 -8
  29. package/file-upload/interceptors/file-upload.interceptor.js +417 -257
  30. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  31. package/file-upload/interfaces/file-processor.interface.js +2 -0
  32. package/file-upload/interfaces/file-upload-options.interface.d.ts +3 -46
  33. package/file-upload/interfaces/file-upload-options.interface.js +3 -0
  34. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  35. package/file-upload/interfaces/processor-options.interface.js +2 -0
  36. package/file-upload/processors/csv.processor.d.ts +98 -0
  37. package/file-upload/processors/csv.processor.js +391 -0
  38. package/file-upload/processors/excel.processor.d.ts +130 -0
  39. package/file-upload/processors/excel.processor.js +547 -0
  40. package/file-upload/processors/image.processor.d.ts +199 -0
  41. package/file-upload/processors/image.processor.js +377 -0
  42. package/file-upload/services/file.service.d.ts +3 -0
  43. package/file-upload/services/file.service.js +39 -10
  44. package/file-upload/services/malicious-file-detector.service.d.ts +29 -3
  45. package/file-upload/services/malicious-file-detector.service.js +256 -57
  46. package/file-upload/utils/dynamic-import.util.d.ts +6 -2
  47. package/file-upload/utils/dynamic-import.util.js +17 -5
  48. package/http-client/decorators/http-client.decorators.d.ts +4 -2
  49. package/http-client/decorators/http-client.decorators.js +2 -1
  50. package/http-client/entities/http-log.entity.js +1 -9
  51. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  52. package/http-client/examples/proxy-from-environment.example.js +410 -0
  53. package/http-client/http-client.module.js +65 -6
  54. package/http-client/interfaces/http-client-config.interface.d.ts +6 -0
  55. package/http-client/services/http-client.service.d.ts +8 -0
  56. package/http-client/services/http-client.service.js +61 -17
  57. package/http-client/services/logging.service.d.ts +1 -1
  58. package/http-client/services/logging.service.js +74 -58
  59. package/http-client/utils/index.d.ts +1 -0
  60. package/http-client/utils/index.js +1 -0
  61. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  62. package/http-client/utils/proxy-environment.util.js +148 -0
  63. package/package.json +9 -5
  64. package/shared/service-registry.module.js +18 -0
  65. package/transaction/data-source.util.d.ts +142 -0
  66. package/transaction/data-source.util.js +330 -0
  67. package/transaction/index.d.ts +1 -0
  68. package/transaction/index.js +12 -1
  69. package/validators/is-exists.validator.d.ts +19 -2
  70. package/validators/is-exists.validator.js +27 -2
  71. package/validators/is-unique.validator.d.ts +12 -1
  72. package/validators/is-unique.validator.js +26 -1
@@ -14,6 +14,7 @@ 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
+ exports.BaseRowData = exports.parseAndValidateCsvData = exports.getCsvColumnMapping = exports.CsvColumn = exports.parseAndValidateExcelData = exports.getExcelColumnMapping = exports.ExcelColumn = void 0;
17
18
  // Module
18
19
  __exportStar(require("./file-upload.module"), exports);
19
20
  // Enums
@@ -25,11 +26,24 @@ __exportStar(require("./interfaces/file-buffer.interface"), exports);
25
26
  __exportStar(require("./interfaces/file-metadata.interface"), exports);
26
27
  __exportStar(require("./interfaces/upload-options.interface"), exports);
27
28
  __exportStar(require("./interfaces/custom-file-type.interface"), exports);
29
+ __exportStar(require("./interfaces/file-processor.interface"), exports);
28
30
  // Note: FileEntity interface is not exported to avoid conflict with TypeORM entity
29
- // Decorators
31
+ // Decorators - 避免冲突,选择性导出
30
32
  __exportStar(require("./decorators/file-upload.decorator"), exports);
31
- __exportStar(require("./decorators/excel-data.decorator"), exports);
32
- __exportStar(require("./decorators/csv-data.decorator"), exports);
33
+ // Excel/CSV 列映射装饰器(字段级别)
34
+ var excel_data_decorator_1 = require("./decorators/excel-data.decorator");
35
+ Object.defineProperty(exports, "ExcelColumn", { enumerable: true, get: function () { return excel_data_decorator_1.ExcelColumn; } });
36
+ Object.defineProperty(exports, "getExcelColumnMapping", { enumerable: true, get: function () { return excel_data_decorator_1.getExcelColumnMapping; } });
37
+ Object.defineProperty(exports, "parseAndValidateExcelData", { enumerable: true, get: function () { return excel_data_decorator_1.parseAndValidateExcelData; } });
38
+ var csv_data_decorator_1 = require("./decorators/csv-data.decorator");
39
+ Object.defineProperty(exports, "CsvColumn", { enumerable: true, get: function () { return csv_data_decorator_1.CsvColumn; } });
40
+ Object.defineProperty(exports, "getCsvColumnMapping", { enumerable: true, get: function () { return csv_data_decorator_1.getCsvColumnMapping; } });
41
+ Object.defineProperty(exports, "parseAndValidateCsvData", { enumerable: true, get: function () { return csv_data_decorator_1.parseAndValidateCsvData; } });
42
+ __exportStar(require("./decorators/csv-import.decorator"), exports);
43
+ // Validation decorators
44
+ var validate_data_decorator_1 = require("./decorators/validate-data.decorator");
45
+ Object.defineProperty(exports, "BaseRowData", { enumerable: true, get: function () { return validate_data_decorator_1.BaseRowData; } });
46
+ __exportStar(require("./decorators/validate-data.decorator"), exports);
33
47
  __exportStar(require("./decorators/process.decorator"), exports);
34
48
  // Interceptors
35
49
  __exportStar(require("./interceptors/file-upload.interceptor"), exports);
@@ -44,6 +58,10 @@ __exportStar(require("./services/mime-registry.service"), exports);
44
58
  __exportStar(require("./services/file-signature-validator.service"), exports);
45
59
  __exportStar(require("./services/malicious-file-detector.service"), exports);
46
60
  __exportStar(require("./services/file.service"), exports);
61
+ // Processors
62
+ __exportStar(require("./processors/excel.processor"), exports);
63
+ __exportStar(require("./processors/csv.processor"), exports);
64
+ __exportStar(require("./processors/image.processor"), exports);
47
65
  // Entities
48
66
  __exportStar(require("./entities/file.entity"), exports);
49
67
  __exportStar(require("./entities/file-metadata.entity"), exports);
@@ -1,13 +1,13 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
3
  import { Observable } from 'rxjs';
4
- import { IFileProcessor } from '../interfaces/file-upload-options.interface';
4
+ import { IFileProcessor } from '../interfaces/file-processor.interface';
5
5
  import { FileService } from '../services/file.service';
6
6
  import { FileSignatureValidator } from '../services/file-signature-validator.service';
7
7
  import { MaliciousFileDetector } from '../services/malicious-file-detector.service';
8
8
  import { MimeRegistryService } from '../services/mime-registry.service';
9
9
  /**
10
- * 文件上传拦截器(增强版)
10
+ * 文件上传拦截器(优化版)
11
11
  * 负责创建文件记录、执行钩子、处理器等后置逻辑
12
12
  */
13
13
  export declare class FileUploadInterceptor implements NestInterceptor {
@@ -21,6 +21,58 @@ export declare class FileUploadInterceptor implements NestInterceptor {
21
21
  private readonly logger;
22
22
  constructor(reflector: Reflector, mimeRegistry: MimeRegistryService, processors?: Map<string, IFileProcessor>, fileService?: FileService, signatureValidator?: FileSignatureValidator, maliciousDetector?: MaliciousFileDetector, moduleOptions?: any);
23
23
  intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<any>>;
24
+ /**
25
+ * 判断是否应该跳过验证
26
+ */
27
+ private shouldSkipValidation;
28
+ /**
29
+ * 验证文件
30
+ */
31
+ private validateFile;
32
+ /**
33
+ * 批量验证文件类型和扩展名
34
+ */
35
+ private validateFileTypeAndExtension;
36
+ /**
37
+ * 判断是否需要执行文件签名验证
38
+ */
39
+ private shouldPerformSignatureValidation;
40
+ /**
41
+ * 验证文件签名
42
+ */
43
+ private validateFileSignature;
44
+ /**
45
+ * 判断是否需要执行恶意文件检测
46
+ */
47
+ private shouldPerformMaliciousCheck;
48
+ /**
49
+ * 检测恶意文件
50
+ */
51
+ private checkMaliciousFile;
52
+ /**
53
+ * 处理文件
54
+ */
55
+ private processFile;
56
+ /**
57
+ * 创建文件实体
58
+ */
59
+ private createFileEntity;
60
+ /**
61
+ * 执行处理器
62
+ */
63
+ private executeProcessors;
64
+ /**
65
+ * 转换为 FileEntity
66
+ */
67
+ private convertToFileEntity;
68
+ /**
69
+ * 更新成功状态
70
+ */
71
+ private updateFileEntityOnSuccess;
72
+ /**
73
+ * 清理失败的文件
74
+ */
75
+ private cleanupOnFailure;
24
76
  /**
25
77
  * 创建上传上下文
26
78
  */
@@ -34,15 +86,16 @@ export declare class FileUploadInterceptor implements NestInterceptor {
34
86
  */
35
87
  private generateUploadId;
36
88
  /**
37
- * 计算文件校验和
89
+ * 判断是否应该在处理后删除原文件
38
90
  */
39
- private calculateChecksum;
91
+ private shouldDeleteAfterProcess;
40
92
  /**
41
- * 验证 MIME 类型
93
+ * 将处理器结果保存到 file_metadata
94
+ * 处理器可以通过返回结果中的 metadata 字段来指定要保存的内容
42
95
  */
43
- private validateMimeType;
96
+ private saveProcessorResultToMetadata;
44
97
  /**
45
- * 验证扩展名
98
+ * 删除原文件
46
99
  */
47
- private validateExtension;
100
+ private deleteOriginalFile;
48
101
  }