@nest-boot/file-upload 0.0.0-development → 6.2.0

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 (58) hide show
  1. package/dist/file-upload-field.object.js.map +1 -0
  2. package/dist/file-upload-options.interface.js.map +1 -0
  3. package/dist/file-upload.module-definition.js.map +1 -0
  4. package/dist/file-upload.module.js.map +1 -0
  5. package/dist/file-upload.object.js.map +1 -0
  6. package/dist/{src/file-upload.resolver.d.ts → file-upload.resolver.d.ts} +0 -3
  7. package/dist/{src/file-upload.resolver.js → file-upload.resolver.js} +0 -23
  8. package/dist/file-upload.resolver.js.map +1 -0
  9. package/dist/file-upload.service.d.ts +16 -0
  10. package/dist/{src/file-upload.service.js → file-upload.service.js} +27 -26
  11. package/dist/file-upload.service.js.map +1 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/inputs/file-upload.input.js.map +1 -0
  14. package/dist/tsconfig.build.tsbuildinfo +1 -0
  15. package/package.json +8 -9
  16. package/dist/jest.config.d.ts +0 -11
  17. package/dist/jest.config.js +0 -13
  18. package/dist/jest.config.js.map +0 -1
  19. package/dist/src/file-upload-field.object.js.map +0 -1
  20. package/dist/src/file-upload-options.interface.js.map +0 -1
  21. package/dist/src/file-upload.input.js.map +0 -1
  22. package/dist/src/file-upload.module-definition.js.map +0 -1
  23. package/dist/src/file-upload.module.js.map +0 -1
  24. package/dist/src/file-upload.object.js.map +0 -1
  25. package/dist/src/file-upload.resolver.js.map +0 -1
  26. package/dist/src/file-upload.service.d.ts +0 -11
  27. package/dist/src/file-upload.service.js.map +0 -1
  28. package/dist/src/index.js.map +0 -1
  29. package/dist/src/inputs/create-absolute-file.input.d.ts +0 -3
  30. package/dist/src/inputs/create-absolute-file.input.js +0 -24
  31. package/dist/src/inputs/create-absolute-file.input.js.map +0 -1
  32. package/dist/src/inputs/file-upload.input.d.ts +0 -5
  33. package/dist/src/inputs/file-upload.input.js +0 -32
  34. package/dist/src/inputs/file-upload.input.js.map +0 -1
  35. package/dist/test/module-e2e.spec.d.ts +0 -1
  36. package/dist/test/module-e2e.spec.js +0 -121
  37. package/dist/test/module-e2e.spec.js.map +0 -1
  38. package/dist/test/src/app.module.d.ts +0 -2
  39. package/dist/test/src/app.module.js +0 -89
  40. package/dist/test/src/app.module.js.map +0 -1
  41. package/dist/test/src/test.resolver.d.ts +0 -3
  42. package/dist/test/src/test.resolver.js +0 -30
  43. package/dist/test/src/test.resolver.js.map +0 -1
  44. package/dist/tsconfig.tsbuildinfo +0 -1
  45. /package/dist/{src/file-upload-field.object.d.ts → file-upload-field.object.d.ts} +0 -0
  46. /package/dist/{src/file-upload-field.object.js → file-upload-field.object.js} +0 -0
  47. /package/dist/{src/file-upload-options.interface.d.ts → file-upload-options.interface.d.ts} +0 -0
  48. /package/dist/{src/file-upload-options.interface.js → file-upload-options.interface.js} +0 -0
  49. /package/dist/{src/file-upload.module-definition.d.ts → file-upload.module-definition.d.ts} +0 -0
  50. /package/dist/{src/file-upload.module-definition.js → file-upload.module-definition.js} +0 -0
  51. /package/dist/{src/file-upload.module.d.ts → file-upload.module.d.ts} +0 -0
  52. /package/dist/{src/file-upload.module.js → file-upload.module.js} +0 -0
  53. /package/dist/{src/file-upload.object.d.ts → file-upload.object.d.ts} +0 -0
  54. /package/dist/{src/file-upload.object.js → file-upload.object.js} +0 -0
  55. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  56. /package/dist/{src/index.js → index.js} +0 -0
  57. /package/dist/{src → inputs}/file-upload.input.d.ts +0 -0
  58. /package/dist/{src → inputs}/file-upload.input.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-field.object.js","sourceRoot":"","sources":["../src/file-upload-field.object.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAe;CAM3B,CAAA;AANY,0CAAe;AAE1B;IADC,IAAA,eAAK,GAAE;;6CACM;AAGd;IADC,IAAA,eAAK,GAAE;;8CACO;0BALJ,eAAe;IAD3B,IAAA,oBAAU,GAAE;GACA,eAAe,CAM3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-options.interface.js","sourceRoot":"","sources":["../src/file-upload-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.module-definition.js","sourceRoot":"","sources":["../src/file-upload.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAI9C,KAKT,IAAI,kCAAyB,EAA2B;KACzD,SAAS,CACR;IACE,QAAQ,EAAE,KAAK;CAChB,EACD,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,UAAU;IACb,MAAM,EAAE,MAAM,CAAC,QAAQ;CACxB,CAAC,CACH;KACA,KAAK,EAAE,EAdR,+BAAuB,+BACvB,4BAAoB,4BACpB,oBAAY,oBACZ,0BAAkB,yBAWT"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.module.js","sourceRoot":"","sources":["../src/file-upload.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,mFAA0E;AAC1E,iEAA4D;AAC5D,+DAA0D;AAMnD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,uDAAuB;CAAG,CAAA;AAAnD,4CAAgB;2BAAhB,gBAAgB;IAJ5B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,uCAAiB,EAAE,yCAAkB,CAAC;QAClD,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,gBAAgB,CAAmC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.object.js","sourceRoot":"","sources":["../src/file-upload.object.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAEpD,yEAA6D;AAGtD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAMtB,CAAA;AANY,gCAAU;AAErB;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,0CAAe,CAAC,CAAC;;0CACJ;AAG3B;IADC,IAAA,eAAK,GAAE;;uCACK;qBALF,UAAU;IADtB,IAAA,oBAAU,GAAE;GACA,UAAU,CAMtB"}
@@ -1,11 +1,8 @@
1
1
  import { FileUpload } from "./file-upload.object";
2
2
  import { FileUploadService } from "./file-upload.service";
3
- import { CreateAbsoluteFileInput } from "./inputs/create-absolute-file.input";
4
3
  import { FileUploadInput } from "./inputs/file-upload.input";
5
4
  export declare class FileUploadResolver {
6
5
  private readonly fileUploadService;
7
6
  constructor(fileUploadService: FileUploadService);
8
7
  createFileUploads(input: FileUploadInput[]): Promise<FileUpload[]>;
9
- createAbsoluteFile(input: CreateAbsoluteFileInput): Promise<string>;
10
- private tmpAssetToFileAsset;
11
8
  }
@@ -11,16 +11,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
14
  Object.defineProperty(exports, "__esModule", { value: true });
18
15
  exports.FileUploadResolver = void 0;
19
16
  const graphql_1 = require("@nestjs/graphql");
20
- const moment_1 = __importDefault(require("moment"));
21
17
  const file_upload_object_1 = require("./file-upload.object");
22
18
  const file_upload_service_1 = require("./file-upload.service");
23
- const create_absolute_file_input_1 = require("./inputs/create-absolute-file.input");
24
19
  const file_upload_input_1 = require("./inputs/file-upload.input");
25
20
  let FileUploadResolver = class FileUploadResolver {
26
21
  constructor(fileUploadService) {
@@ -29,17 +24,6 @@ let FileUploadResolver = class FileUploadResolver {
29
24
  async createFileUploads(input) {
30
25
  return await this.fileUploadService.create(input);
31
26
  }
32
- async createAbsoluteFile(input) {
33
- return await this.tmpAssetToFileAsset(input.path);
34
- }
35
- // 将临时资源转文件模块资源
36
- async tmpAssetToFileAsset(tempUrl) {
37
- const filePath = "tmp/" + tempUrl.split("/tmp/")[1];
38
- const filename = `files/${(0, moment_1.default)().format("YYYY/MM/DD")}/${filePath
39
- .split("/")
40
- .pop()}`;
41
- return await this.fileUploadService.copyObject(filePath, filename);
42
- }
43
27
  };
44
28
  exports.FileUploadResolver = FileUploadResolver;
45
29
  __decorate([
@@ -49,13 +33,6 @@ __decorate([
49
33
  __metadata("design:paramtypes", [Array]),
50
34
  __metadata("design:returntype", Promise)
51
35
  ], FileUploadResolver.prototype, "createFileUploads", null);
52
- __decorate([
53
- (0, graphql_1.Mutation)(() => String),
54
- __param(0, (0, graphql_1.Args)({ type: () => create_absolute_file_input_1.CreateAbsoluteFileInput, name: "input" })),
55
- __metadata("design:type", Function),
56
- __metadata("design:paramtypes", [create_absolute_file_input_1.CreateAbsoluteFileInput]),
57
- __metadata("design:returntype", Promise)
58
- ], FileUploadResolver.prototype, "createAbsoluteFile", null);
59
36
  exports.FileUploadResolver = FileUploadResolver = __decorate([
60
37
  (0, graphql_1.Resolver)(() => file_upload_object_1.FileUpload),
61
38
  __metadata("design:paramtypes", [file_upload_service_1.FileUploadService])
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.resolver.js","sourceRoot":"","sources":["../src/file-upload.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA2D;AAE3D,6DAAkD;AAClD,+DAA0D;AAC1D,kEAA6D;AAGtD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAG/D,AAAN,KAAK,CAAC,iBAAiB,CAErB,KAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAVY,gDAAkB;AAIvB;IADL,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,+BAAU,CAAC,CAAC;IAE1B,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,mCAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;;;;2DAIxD;6BATU,kBAAkB;IAD9B,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,+BAAU,CAAC;qCAEuB,uCAAiB;GADtD,kBAAkB,CAU9B"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import { Client, ItemBucketMetadata } from "minio";
3
+ import { FileUpload } from "./file-upload.object";
4
+ import { FileUploadModuleOptions } from "./file-upload-options.interface";
5
+ import { FileUploadInput } from "./inputs/file-upload.input";
6
+ export declare class FileUploadService {
7
+ readonly options: FileUploadModuleOptions;
8
+ readonly ossClient: Client;
9
+ constructor(options: FileUploadModuleOptions);
10
+ create(input: FileUploadInput[]): Promise<FileUpload[]>;
11
+ persist(tmpUrl: string): Promise<string>;
12
+ upload(data: ReadableStream | Buffer | string, metadata: ItemBucketMetadata & {
13
+ "Content-Type": string;
14
+ }, persist?: boolean): Promise<string>;
15
+ private getFileUrl;
16
+ }
@@ -11,10 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
18
  exports.FileUploadService = void 0;
16
19
  const common_1 = require("@nestjs/common");
17
20
  const crypto_1 = require("crypto");
21
+ const dayjs_1 = __importDefault(require("dayjs"));
18
22
  const minio_1 = require("minio");
19
23
  const path_1 = require("path");
20
24
  const file_upload_module_definition_1 = require("./file-upload.module-definition");
@@ -24,7 +28,6 @@ let FileUploadService = class FileUploadService {
24
28
  this.ossClient = new minio_1.Client(options);
25
29
  }
26
30
  async create(input) {
27
- const acl = "private";
28
31
  const results = input.map(async (item) => {
29
32
  const key = `tmp/${(0, crypto_1.randomUUID)()}${(0, path_1.extname)(item.name)}`;
30
33
  const limit = this.options.limits?.find((v) => item.fileSize <= v.fileSize && v.mimeTypes.includes(item.mimeType));
@@ -34,7 +37,6 @@ let FileUploadService = class FileUploadService {
34
37
  }
35
38
  const policy = this.ossClient.newPostPolicy();
36
39
  policy.formData = {
37
- acl,
38
40
  bucket: this.options.bucket,
39
41
  key,
40
42
  success_action_status: "201",
@@ -43,7 +45,6 @@ let FileUploadService = class FileUploadService {
43
45
  policy.policy = {
44
46
  conditions: [
45
47
  ...(limit ? [["content-length-range", 1, limit.fileSize]] : []),
46
- ["eq", "$acl", acl],
47
48
  ["eq", "$bucket", this.options.bucket],
48
49
  ["eq", "$key", key],
49
50
  ["eq", "$success_action_status", "201"],
@@ -68,30 +69,30 @@ let FileUploadService = class FileUploadService {
68
69
  });
69
70
  return await Promise.all(results);
70
71
  }
71
- // 不能使用 minio 的 copyObject(),因为它会把原文件的策略也拷贝(aws-sdk 的 copyObject() 可以添加策略参数)
72
- // 并且 minio 只支持对 bucket 的策略配置,不支持对某对象进行策略配置
73
- async copyObject(originPath, filename) {
74
- const originMetadata = await this.ossClient.statObject(this.options.bucket, originPath);
75
- const dataStream = await this.ossClient.getObject(this.options.bucket, originPath);
76
- const data = await new Promise((resolve, reject) => {
77
- const chunks = [];
78
- dataStream.on("data", (chunk) => {
79
- chunks.push(chunk);
80
- });
81
- dataStream.on("end", () => {
82
- resolve(Buffer.concat(chunks));
83
- });
84
- dataStream.on("error", reject);
85
- });
86
- // 上传对象
87
- const metaData = {
88
- "Content-Type": originMetadata.metaData["content-type"],
89
- };
90
- // 无法设置 acl 等策略,会自动继承 files 目录的策略
91
- await this.ossClient.putObject(this.options.bucket, filename, data, metaData);
72
+ // 临时文件转永久文件
73
+ async persist(tmpUrl) {
74
+ const originPath = `${this.options.bucket}/tmp/${tmpUrl.split("/tmp/")[1]}`;
75
+ const targetPath = `files/${(0, dayjs_1.default)().format("YYYY/MM/DD")}/${originPath
76
+ .split("/")
77
+ .pop()}`;
78
+ const conditions = new minio_1.CopyConditions();
79
+ await this.ossClient.copyObject(this.options.bucket, targetPath, originPath, conditions);
80
+ return this.getFileUrl(targetPath);
81
+ }
82
+ async upload(data, metadata, persist = false) {
83
+ const filePath = `tmp/${(0, dayjs_1.default)().format("YYYY/MM/DD")}/${(0, crypto_1.randomUUID)()}.${metadata["Content-Type"].split("/").pop()}`;
84
+ await this.ossClient.putObject(this.options.bucket, filePath, data, metadata);
85
+ const tmpUrl = this.getFileUrl(filePath);
86
+ if (!persist) {
87
+ return tmpUrl;
88
+ }
89
+ // 持久化
90
+ return await this.persist(tmpUrl);
91
+ }
92
+ getFileUrl(filePath) {
92
93
  return this.options.pathStyle
93
- ? `https://${this.options.endPoint}/${this.options.bucket}/${filename}`
94
- : `https://${this.options.bucket}.${this.options.endPoint}/${filename}`;
94
+ ? `${this.options.useSSL !== false ? "https" : "http"}://${this.options.endPoint}${this.options.port ? `:${this.options.port}` : ""}/${this.options.bucket}/${filePath}`
95
+ : `${this.options.useSSL !== false ? "https" : "http"}://${this.options.bucket}.${this.options.endPoint}${this.options.port ? `:${this.options.port}` : ""}/${filePath}`;
95
96
  }
96
97
  };
97
98
  exports.FileUploadService = FileUploadService;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.service.js","sourceRoot":"","sources":["../src/file-upload.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.input.js","sourceRoot":"","sources":["../../src/inputs/file-upload.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAwD;AAGjD,IAAM,eAAe,GAArB,MAAM,eAAe;CAS3B,CAAA;AATY,0CAAe;AAE1B;IADC,IAAA,eAAK,GAAE;;6CACM;AAGd;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,aAAG,CAAC;;iDACC;AAGlB;IADC,IAAA,eAAK,GAAE;;iDACU;0BARP,eAAe;IAD3B,IAAA,mBAAS,GAAE;GACC,eAAe,CAS3B"}