@ackplus/nest-file-storage 1.1.11 → 1.1.13

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 (62) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +658 -6
  3. package/{src → dist}/index.d.ts +0 -1
  4. package/dist/index.js +21 -0
  5. package/dist/index.js.map +1 -0
  6. package/{src → dist}/lib/constants.d.ts +0 -1
  7. package/{src → dist}/lib/constants.js +1 -0
  8. package/dist/lib/constants.js.map +1 -0
  9. package/{src → dist}/lib/file-storage.service.d.ts +0 -1
  10. package/{src → dist}/lib/file-storage.service.js +3 -3
  11. package/dist/lib/file-storage.service.js.map +1 -0
  12. package/{src → dist}/lib/index.d.ts +0 -1
  13. package/dist/lib/index.js +22 -0
  14. package/dist/lib/index.js.map +1 -0
  15. package/{src → dist}/lib/interceptor/file-storage.interceptor.d.ts +0 -4
  16. package/{src → dist}/lib/interceptor/file-storage.interceptor.js +5 -17
  17. package/dist/lib/interceptor/file-storage.interceptor.js.map +1 -0
  18. package/{src → dist}/lib/nest-file-storage.module.d.ts +0 -1
  19. package/{src → dist}/lib/nest-file-storage.module.js +9 -3
  20. package/dist/lib/nest-file-storage.module.js.map +1 -0
  21. package/{src → dist}/lib/storage/azure.storage.d.ts +0 -1
  22. package/{src → dist}/lib/storage/azure.storage.js +49 -10
  23. package/dist/lib/storage/azure.storage.js.map +1 -0
  24. package/{src → dist}/lib/storage/local.storage.d.ts +0 -15
  25. package/{src → dist}/lib/storage/local.storage.js +44 -32
  26. package/dist/lib/storage/local.storage.js.map +1 -0
  27. package/{src → dist}/lib/storage/s3.storage.d.ts +0 -1
  28. package/{src → dist}/lib/storage/s3.storage.js +43 -8
  29. package/dist/lib/storage/s3.storage.js.map +1 -0
  30. package/{src → dist}/lib/storage.factory.d.ts +0 -1
  31. package/dist/lib/storage.factory.js +46 -0
  32. package/dist/lib/storage.factory.js.map +1 -0
  33. package/{src → dist}/lib/types.d.ts +0 -14
  34. package/{src → dist}/lib/types.js +1 -0
  35. package/dist/lib/types.js.map +1 -0
  36. package/dist/tsconfig.build.tsbuildinfo +1 -0
  37. package/examples/1-basic-local-storage.example.ts +22 -0
  38. package/examples/10-testing.example.ts +233 -0
  39. package/examples/2-s3-storage.example.ts +40 -0
  40. package/examples/3-azure-storage.example.ts +35 -0
  41. package/examples/4-upload-controller.example.ts +117 -0
  42. package/examples/5-custom-configuration.example.ts +75 -0
  43. package/examples/6-file-service.example.ts +124 -0
  44. package/examples/7-user-avatar.example.ts +139 -0
  45. package/examples/8-document-management.example.ts +265 -0
  46. package/examples/9-dynamic-storage.example.ts +175 -0
  47. package/examples/README.md +122 -0
  48. package/package.json +86 -6
  49. package/src/index.d.ts.map +0 -1
  50. package/src/index.js +0 -7
  51. package/src/lib/constants.d.ts.map +0 -1
  52. package/src/lib/file-storage.service.d.ts.map +0 -1
  53. package/src/lib/index.d.ts.map +0 -1
  54. package/src/lib/index.js +0 -8
  55. package/src/lib/interceptor/file-storage.interceptor.d.ts.map +0 -1
  56. package/src/lib/nest-file-storage.module.d.ts.map +0 -1
  57. package/src/lib/storage/azure.storage.d.ts.map +0 -1
  58. package/src/lib/storage/local.storage.d.ts.map +0 -1
  59. package/src/lib/storage/s3.storage.d.ts.map +0 -1
  60. package/src/lib/storage.factory.d.ts.map +0 -1
  61. package/src/lib/storage.factory.js +0 -81
  62. package/src/lib/types.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,10 +1,90 @@
1
1
  {
2
2
  "name": "@ackplus/nest-file-storage",
3
- "version": "1.1.11",
4
- "type": "commonjs",
5
- "main": "./src/index.js",
6
- "types": "./src/index.d.ts",
3
+ "version": "1.1.13",
4
+ "description": "A flexible and feature-rich file storage solution for NestJS applications with support for local, S3, and Azure Blob Storage",
5
+ "author": "AckPlus",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "examples",
13
+ "LICENSE"
14
+ ],
15
+ "keywords": [
16
+ "nestjs",
17
+ "file-storage",
18
+ "file-upload",
19
+ "multer",
20
+ "s3",
21
+ "azure-blob",
22
+ "local-storage",
23
+ "cloud-storage",
24
+ "file-management",
25
+ "nestjs-storage",
26
+ "aws-s3",
27
+ "azure-storage"
28
+ ],
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/ack-solutions/nest-file-storage"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/ack-solutions/nest-file-storage/issues"
35
+ },
36
+ "homepage": "https://github.com/ack-solutions/nest-file-storage#readme",
37
+ "scripts": {
38
+ "clean": "rm -rf dist",
39
+ "build": "npm run clean && nest build",
40
+ "format": "prettier --write \"src/**/*.ts\"",
41
+ "lint": "eslint \"src/**/*.ts\" --fix",
42
+ "prepublishOnly": "npm run build"
43
+ },
44
+ "peerDependencies": {
45
+ "@nestjs/common": "^10.0.0 || ^11.0.0",
46
+ "@nestjs/core": "^10.0.0 || ^11.0.0",
47
+ "multer": "^1.4.5-lts.1",
48
+ "reflect-metadata": "^0.2.2"
49
+ },
50
+ "peerDependenciesMeta": {
51
+ "@aws-sdk/client-s3": {
52
+ "optional": true
53
+ },
54
+ "@aws-sdk/s3-request-presigner": {
55
+ "optional": true
56
+ },
57
+ "@azure/storage-blob": {
58
+ "optional": true
59
+ }
60
+ },
7
61
  "dependencies": {
8
- "tslib": "^2.3.0"
62
+ "concat-stream": "^2.0.0",
63
+ "moment": "^2.30.1",
64
+ "uuid": "^11.0.3"
65
+ },
66
+ "devDependencies": {
67
+ "@aws-sdk/client-s3": "^3.713.0",
68
+ "@aws-sdk/s3-request-presigner": "^3.713.0",
69
+ "@azure/storage-blob": "^12.25.0",
70
+ "@eslint/eslintrc": "^3.2.0",
71
+ "@eslint/js": "^9.18.0",
72
+ "@nestjs/cli": "^11.0.0",
73
+ "@nestjs/common": "^11.0.1",
74
+ "@nestjs/core": "^11.0.1",
75
+ "@nestjs/platform-express": "^11.0.1",
76
+ "@types/concat-stream": "^2.0.3",
77
+ "@types/express": "^5.0.0",
78
+ "@types/multer": "^1.4.12",
79
+ "@types/node": "^22.10.7",
80
+ "@types/uuid": "^10.0.0",
81
+ "eslint": "^9.18.0",
82
+ "eslint-config-prettier": "^10.0.1",
83
+ "eslint-plugin-prettier": "^5.2.2",
84
+ "globals": "^16.0.0",
85
+ "multer": "^1.4.5-lts.1",
86
+ "prettier": "^3.4.2",
87
+ "typescript": "^5.7.3",
88
+ "typescript-eslint": "^8.20.0"
9
89
  }
10
- }
90
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/nest-file-storage/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,aAAa,CAAC"}
package/src/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib/nest-file-storage.module"), exports);
5
- tslib_1.__exportStar(require("./lib/file-storage.service"), exports);
6
- tslib_1.__exportStar(require("./lib/interceptor/file-storage.interceptor"), exports);
7
- tslib_1.__exportStar(require("./lib/types"), exports);
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-storage.service.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/file-storage.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAqD,MAAM,SAAS,CAAC;AAGvH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA2B;IAEjD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB;IAInD,MAAM,CAAC,UAAU,IAAI,wBAAwB;WAIhC,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe;CAmBxD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC"}
package/src/lib/index.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./nest-file-storage.module"), exports);
5
- tslib_1.__exportStar(require("./types"), exports);
6
- tslib_1.__exportStar(require("./storage.factory"), exports);
7
- tslib_1.__exportStar(require("./interceptor/file-storage.interceptor"), exports);
8
- tslib_1.__exportStar(require("./file-storage.service"), exports);
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-storage.interceptor.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-file-storage/src/lib/interceptor/file-storage.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,OAAO,EAAE,eAAe,EAAE,cAAc,EAA0C,MAAM,UAAU,CAAC;AAGnG,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;CAC3E,CAAC;AA2DF;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,gBAAgB,GAAG,MAAM,EACrC,kBAAkB,CAAC,EAAE,6BAA6B,GACnD,eAAe,CAkFjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nest-file-storage.module.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/nest-file-storage.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAY,MAAM,gBAAgB,CAAC;AAIjE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAA6B,MAAM,SAAS,CAAC;AAGvG,qBACa,qBAAqB;IAE9B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa;IAkBhE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAWpE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAwB5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"azure.storage.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-file-storage/src/lib/storage/azure.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EAKzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGtE,qBAAa,YAAa,YAAW,aAAa,EAAE,OAAO;IAQ3C,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,gBAAgB,CAAqE;IAC7F,OAAO,CAAC,gBAAgB,CAAqE;gBAGzE,OAAO,EAAE,mBAAmB;IAoB1C,WAAW,CACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GACtC,OAAO,CAAC,IAAI,CAAC;IA6BV,WAAW,CACb,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC;IAahB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAK3B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,GAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAM,GAAG,MAAM;IAqCzG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcrC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwB3D,UAAU,CAAC,GAAG,EAAE,MAAM;IAYtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CA0BxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.storage.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-file-storage/src/lib/storage/local.storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGtE,qBAAa,YAAa,YAAW,aAAa,EAAE,OAAO;IA8C3C,OAAO,CAAC,OAAO;IA5C3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAqE;IAC7F,OAAO,CAAC,gBAAgB,CAAqE;IAE7F;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAajB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,WAAW;gBAKC,OAAO,EAAE,mBAAmB;IAmB1C,WAAW,CACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EACzB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI;IAgCzC,WAAW,CACP,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI;IAarC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAgBxB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,OAAO,CACT,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC;IAiCxB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAQtB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAgC9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"s3.storage.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-file-storage/src/lib/storage/s3.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,qBAAqB,EAAM,MAAM,oBAAoB,CAAC;AAIlF,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGnE,qBAAa,SAAU,YAAW,aAAa,EAAE,OAAO;IAMxC,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,gBAAgB,CAAqE;IAC7F,OAAO,CAAC,gBAAgB,CAAqE;gBAEzE,OAAO,EAAE,gBAAgB;IAmBvC,WAAW,CACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EACzB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GACtC,OAAO,CAAC,IAAI,CAAC;IAkChB,WAAW,CACP,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAClC,IAAI;IAYP,MAAM,CAAC,GAAG,EAAE,MAAM;IAOZ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAezF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BrC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0CvD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAmB9B,cAAc;IAQtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CA4BxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.factory.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/storage.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,eAAe,EAAyC,cAAc,EAAE,MAAM,SAAS,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA8C;WAEhE,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IA+CnH,MAAM,CAAC,UAAU;CAGpB"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.StorageFactory = void 0;
37
- const types_1 = require("./types");
38
- class StorageFactory {
39
- static async createStorage(storageType, options) {
40
- const cacheKey = `${storageType}-${JSON.stringify(options)}`;
41
- // if (this.storageInstances.has(cacheKey)) {
42
- // return this.storageInstances.get(cacheKey)!;
43
- // }
44
- let storageInstance;
45
- switch (storageType) {
46
- case types_1.FileStorageEnum.LOCAL:
47
- const { LocalStorage } = await Promise.resolve().then(() => __importStar(require('./storage/local.storage')));
48
- storageInstance = new LocalStorage(options);
49
- break;
50
- case types_1.FileStorageEnum.AZURE:
51
- try {
52
- const { AzureStorage } = await Promise.resolve().then(() => __importStar(require('./storage/azure.storage')));
53
- storageInstance = new AzureStorage(options);
54
- }
55
- catch (error) {
56
- throw new Error('Azure Storage SDK (@azure/storage-blob) is required when using AzureStorage. ' +
57
- 'Please install it: npm install @azure/storage-blob');
58
- }
59
- break;
60
- case types_1.FileStorageEnum.S3:
61
- try {
62
- const { S3Storage } = await Promise.resolve().then(() => __importStar(require('./storage/s3.storage')));
63
- storageInstance = new S3Storage(options);
64
- }
65
- catch (error) {
66
- throw new Error('AWS SDK (@aws-sdk/client-s3 and @aws-sdk/s3-request-presigner) is required when using S3Storage. ' +
67
- 'Please install them: npm install @aws-sdk/client-s3 @aws-sdk/s3-request-presigner');
68
- }
69
- break;
70
- default:
71
- throw new Error(`Unsupported storage type: ${storageType}`);
72
- }
73
- this.storageInstances.set(cacheKey, storageInstance);
74
- return storageInstance;
75
- }
76
- static clearCache() {
77
- this.storageInstances.clear();
78
- }
79
- }
80
- exports.StorageFactory = StorageFactory;
81
- StorageFactory.storageInstances = new Map();
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-file-storage/src/lib/types.ts"],"names":[],"mappings":"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"}