nest-multi-storage 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"azure-blob.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/azure-blob.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQlC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAO7E,qBAAa,eAAgB,YAAW,aAAa;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE,kBAAkB;IAYjC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAMlB,GAAG,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IA0BrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAelC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMnB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAexD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IActC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAUjD"}
1
+ {"version":3,"file":"azure-blob.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/azure-blob.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQlC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAO7E,qBAAa,eAAgB,YAAW,aAAa;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE,kBAAkB;IAYjC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAMlB,GAAG,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IA2BrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAS1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAatC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOnB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAetC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAUjD"}
@@ -33,6 +33,7 @@ class AzureBlobDriver {
33
33
  return match?.[1];
34
34
  }
35
35
  async put(path, content, options) {
36
+ (0, path_utils_1.validatePath)(path);
36
37
  const blobName = this.normalizeBlobName(path);
37
38
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
38
39
  if (Buffer.isBuffer(content)) {
@@ -57,6 +58,7 @@ class AzureBlobDriver {
57
58
  };
58
59
  }
59
60
  async get(path) {
61
+ (0, path_utils_1.validatePath)(path);
60
62
  const blobName = this.normalizeBlobName(path);
61
63
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
62
64
  const downloadResponse = await blockBlobClient.download();
@@ -69,12 +71,14 @@ class AzureBlobDriver {
69
71
  });
70
72
  }
71
73
  async getStream(path) {
74
+ (0, path_utils_1.validatePath)(path);
72
75
  const blobName = this.normalizeBlobName(path);
73
76
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
74
77
  const downloadResponse = await blockBlobClient.download();
75
78
  return downloadResponse.readableStreamBody;
76
79
  }
77
80
  async delete(path) {
81
+ (0, path_utils_1.validatePath)(path);
78
82
  const blobName = this.normalizeBlobName(path);
79
83
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
80
84
  try {
@@ -86,20 +90,24 @@ class AzureBlobDriver {
86
90
  }
87
91
  }
88
92
  async deleteMany(paths) {
93
+ (0, path_utils_1.validatePaths)(paths);
89
94
  const results = await Promise.all(paths.map((p) => this.delete(p)));
90
95
  return results.every((r) => r);
91
96
  }
92
97
  async exists(path) {
98
+ (0, path_utils_1.validatePath)(path);
93
99
  const blobName = this.normalizeBlobName(path);
94
100
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
95
101
  return blockBlobClient.exists();
96
102
  }
97
103
  url(path) {
104
+ (0, path_utils_1.validatePath)(path);
98
105
  const blobName = this.normalizeBlobName(path);
99
106
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
100
107
  return blockBlobClient.url;
101
108
  }
102
109
  async signedUrl(path, expiresIn) {
110
+ (0, path_utils_1.validatePath)(path);
103
111
  const blobName = this.normalizeBlobName(path);
104
112
  const expiry = expiresIn ?? this.sasUrlExpiry;
105
113
  const accountName = this.parseAccountName();
@@ -120,22 +128,28 @@ class AzureBlobDriver {
120
128
  return `${this.url(blobName)}?${sasToken}`;
121
129
  }
122
130
  async copy(from, to) {
131
+ (0, path_utils_1.validatePath)(from, 'from');
132
+ (0, path_utils_1.validatePath)(to, 'to');
123
133
  const fromBlobName = this.normalizeBlobName(from);
124
134
  const toBlobName = this.normalizeBlobName(to);
125
135
  const sourceClient = this.containerClient.getBlockBlobClient(fromBlobName);
126
136
  const destClient = this.containerClient.getBlockBlobClient(toBlobName);
127
- await destClient.beginCopyFromURL(sourceClient.url);
137
+ const poller = await destClient.beginCopyFromURL(sourceClient.url);
138
+ await poller.pollUntilDone();
128
139
  return {
129
140
  path: toBlobName,
130
141
  url: this.url(toBlobName),
131
142
  };
132
143
  }
133
144
  async move(from, to) {
145
+ (0, path_utils_1.validatePath)(from, 'from');
146
+ (0, path_utils_1.validatePath)(to, 'to');
134
147
  const result = await this.copy(from, to);
135
148
  await this.delete(from);
136
149
  return result;
137
150
  }
138
151
  async stat(path) {
152
+ (0, path_utils_1.validatePath)(path);
139
153
  const blobName = this.normalizeBlobName(path);
140
154
  const blockBlobClient = this.containerClient.getBlockBlobClient(blobName);
141
155
  const properties = await blockBlobClient.getProperties();
@@ -1 +1 @@
1
- {"version":3,"file":"azure-blob.driver.js","sourceRoot":"","sources":["../../src/drivers/azure-blob.driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure-blob.driver.js","sourceRoot":"","sources":["../../src/drivers/azure-blob.driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/local.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAM7E,qBAAa,WAAY,YAAW,aAAa;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;gBAEtB,OAAO,EAAE,kBAAkB;IAQvC,OAAO,CAAC,WAAW;YAOL,SAAS;IAKjB,GAAG,CACL,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IAsBrB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK9C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUhD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOvB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWxD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAS1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwBjD"}
1
+ {"version":3,"file":"local.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/local.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAM7E,qBAAa,WAAY,YAAW,aAAa;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;gBAEtB,OAAO,EAAE,kBAAkB;IAQvC,OAAO,CAAC,WAAW;YAeL,SAAS;IAKjB,GAAG,CACL,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IAkCrB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM9C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQvB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAaxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAaxD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAU1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwBjD"}
@@ -44,13 +44,19 @@ class LocalDriver {
44
44
  this.baseUrl = options.baseUrl ? (0, path_utils_1.trimTrailingSlash)(options.baseUrl) : undefined;
45
45
  }
46
46
  getFullPath(filePath) {
47
- return (0, path_utils_1.joinPath)(this.basePath, (0, path_utils_1.trimLeadingSlash)(filePath));
47
+ const normalizedPath = (0, path_utils_1.trimLeadingSlash)(filePath);
48
+ const fullPath = path.resolve(this.basePath, normalizedPath);
49
+ if (!fullPath.startsWith(this.basePath + path.sep) && fullPath !== this.basePath) {
50
+ throw new Error(`Path traversal detected: ${filePath}`);
51
+ }
52
+ return fullPath;
48
53
  }
49
54
  async ensureDir(filePath) {
50
55
  const dir = (0, path_utils_1.dirname)(filePath);
51
56
  await fs.mkdir(dir, { recursive: true });
52
57
  }
53
58
  async put(filePath, content, options) {
59
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
54
60
  const fullPath = this.getFullPath(filePath);
55
61
  await this.ensureDir(fullPath);
56
62
  if (Buffer.isBuffer(content)) {
@@ -59,9 +65,15 @@ class LocalDriver {
59
65
  else {
60
66
  await new Promise((resolve, reject) => {
61
67
  const writeStream = fsSync.createWriteStream(fullPath);
62
- content.pipe(writeStream);
68
+ const cleanup = (error) => {
69
+ writeStream.destroy();
70
+ content.destroy();
71
+ reject(error);
72
+ };
63
73
  writeStream.on('finish', resolve);
64
- writeStream.on('error', reject);
74
+ writeStream.on('error', cleanup);
75
+ content.on('error', cleanup);
76
+ content.pipe(writeStream);
65
77
  });
66
78
  }
67
79
  return {
@@ -70,14 +82,17 @@ class LocalDriver {
70
82
  };
71
83
  }
72
84
  async get(filePath) {
85
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
73
86
  const fullPath = this.getFullPath(filePath);
74
87
  return fs.readFile(fullPath);
75
88
  }
76
89
  async getStream(filePath) {
90
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
77
91
  const fullPath = this.getFullPath(filePath);
78
92
  return fsSync.createReadStream(fullPath);
79
93
  }
80
94
  async delete(filePath) {
95
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
81
96
  const fullPath = this.getFullPath(filePath);
82
97
  try {
83
98
  await fs.unlink(fullPath);
@@ -88,10 +103,12 @@ class LocalDriver {
88
103
  }
89
104
  }
90
105
  async deleteMany(paths) {
106
+ (0, path_utils_1.validatePaths)(paths, 'paths');
91
107
  const results = await Promise.all(paths.map((p) => this.delete(p)));
92
108
  return results.every((r) => r);
93
109
  }
94
110
  async exists(filePath) {
111
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
95
112
  const fullPath = this.getFullPath(filePath);
96
113
  try {
97
114
  await fs.access(fullPath);
@@ -102,15 +119,22 @@ class LocalDriver {
102
119
  }
103
120
  }
104
121
  url(filePath) {
122
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
105
123
  if (this.baseUrl) {
106
124
  return `${this.baseUrl}/${(0, path_utils_1.trimLeadingSlash)(filePath)}`;
107
125
  }
108
126
  return this.getFullPath(filePath);
109
127
  }
110
128
  async signedUrl(filePath, _expiresIn) {
129
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
130
+ if (process.env.NODE_ENV !== 'test') {
131
+ console.warn('LocalDriver does not support signed URLs. Returning regular URL instead.');
132
+ }
111
133
  return this.url(filePath);
112
134
  }
113
135
  async copy(from, to) {
136
+ (0, path_utils_1.validatePath)(from, 'from');
137
+ (0, path_utils_1.validatePath)(to, 'to');
114
138
  const fromPath = this.getFullPath(from);
115
139
  const toPath = this.getFullPath(to);
116
140
  await this.ensureDir(toPath);
@@ -121,6 +145,8 @@ class LocalDriver {
121
145
  };
122
146
  }
123
147
  async move(from, to) {
148
+ (0, path_utils_1.validatePath)(from, 'from');
149
+ (0, path_utils_1.validatePath)(to, 'to');
124
150
  const fromPath = this.getFullPath(from);
125
151
  const toPath = this.getFullPath(to);
126
152
  await this.ensureDir(toPath);
@@ -131,6 +157,7 @@ class LocalDriver {
131
157
  };
132
158
  }
133
159
  async stat(filePath) {
160
+ (0, path_utils_1.validatePath)(filePath, 'filePath');
134
161
  const fullPath = this.getFullPath(filePath);
135
162
  const stats = await fs.stat(fullPath);
136
163
  return {
@@ -147,7 +174,7 @@ class LocalDriver {
147
174
  const entryPath = prefix
148
175
  ? `${(0, path_utils_1.trimLeadingSlash)(prefix)}/${entry.name}`
149
176
  : entry.name;
150
- if (entry.isFile()) {
177
+ if (entry.isFile() || entry.isSymbolicLink()) {
151
178
  files.push(entryPath);
152
179
  }
153
180
  else if (entry.isDirectory()) {
@@ -1 +1 @@
1
- {"version":3,"file":"local.driver.js","sourceRoot":"","sources":["../../src/drivers/local.driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.driver.js","sourceRoot":"","sources":["../../src/drivers/local.driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAAkC;AAClC,2CAA6B;AAC7B,2CAA6B;AAQ7B,oDAA0H;AAK1H,MAAa,WAAW;IAIpB,YAAY,OAA2B;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,8BAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,CAAC;IAKO,WAAW,CAAC,QAAgB;QAChC,MAAM,cAAc,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAG7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAKO,KAAK,CAAC,SAAS,CAAC,QAAgB;QACpC,MAAM,GAAG,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CACL,QAAgB,EAChB,OAA0B,EAC1B,OAAoB;QAEpB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YAEJ,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAGvD,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;oBAC7B,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC;gBAEF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAE7B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB;QACtB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QACzB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC5B,IAAA,0BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QACzB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,GAAG,CAAC,QAAgB;QAChB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAA,6BAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,UAAmB;QACjD,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAGnC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,EAAU;QAC/B,IAAA,yBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAA,yBAAY,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO;YACH,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,EAAU;QAC/B,IAAA,yBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAA,yBAAY,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO;YACH,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB;QACvB,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,KAAK;SAC5B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAe;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,MAAM;oBACpB,CAAC,CAAC,GAAG,IAAA,6BAAgB,EAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;oBAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAEjB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA5LD,kCA4LC"}
@@ -6,8 +6,11 @@ export declare class S3Driver implements StorageDriver {
6
6
  private readonly bucket;
7
7
  private readonly cdnUrl?;
8
8
  private readonly signedUrlExpiry;
9
+ private readonly endpoint?;
9
10
  constructor(options: S3DriverOptions);
11
+ destroy(): Promise<void>;
10
12
  private normalizeKey;
13
+ ensureBucketExists(): Promise<void>;
11
14
  put(path: string, content: Buffer | Readable, options?: PutOptions): Promise<StorageResponse>;
12
15
  get(path: string): Promise<Buffer>;
13
16
  getStream(path: string): Promise<Readable>;
@@ -1 +1 @@
1
- {"version":3,"file":"s3.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/s3.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAYlC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAO1E,qBAAa,QAAS,YAAW,aAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,OAAO,EAAE,eAAe;IAepC,OAAO,CAAC,YAAY;IAId,GAAG,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IAoBrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAWnB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkBxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBtC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuBjD"}
1
+ {"version":3,"file":"s3.driver.d.ts","sourceRoot":"","sources":["../../src/drivers/s3.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAclC,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAO1E,qBAAa,QAAS,YAAW,aAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;gBAEvB,OAAO,EAAE,eAAe;IAgB9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,YAAY;IAOd,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQnC,GAAG,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,QAAQ,EAC1B,OAAO,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC;IAqBrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAiBnB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBtC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuBjD"}
@@ -16,11 +16,24 @@ class S3Driver {
16
16
  this.bucket = options.bucket;
17
17
  this.cdnUrl = options.cdnUrl ? (0, path_utils_1.trimTrailingSlash)(options.cdnUrl) : undefined;
18
18
  this.signedUrlExpiry = options.signedUrlExpiry ?? storage_constants_1.DEFAULT_SIGNED_URL_EXPIRY;
19
+ this.endpoint = options.endpoint ? (0, path_utils_1.trimTrailingSlash)(options.endpoint) : undefined;
20
+ }
21
+ async destroy() {
22
+ this.client.destroy();
19
23
  }
20
24
  normalizeKey(key) {
21
25
  return (0, path_utils_1.trimLeadingSlash)(key);
22
26
  }
27
+ async ensureBucketExists() {
28
+ try {
29
+ await this.client.send(new client_s3_1.HeadBucketCommand({ Bucket: this.bucket }));
30
+ }
31
+ catch {
32
+ await this.client.send(new client_s3_1.CreateBucketCommand({ Bucket: this.bucket }));
33
+ }
34
+ }
23
35
  async put(path, content, options) {
36
+ (0, path_utils_1.validatePath)(path);
24
37
  const key = this.normalizeKey(path);
25
38
  const command = new client_s3_1.PutObjectCommand({
26
39
  Bucket: this.bucket,
@@ -37,6 +50,7 @@ class S3Driver {
37
50
  };
38
51
  }
39
52
  async get(path) {
53
+ (0, path_utils_1.validatePath)(path);
40
54
  const key = this.normalizeKey(path);
41
55
  const command = new client_s3_1.GetObjectCommand({
42
56
  Bucket: this.bucket,
@@ -52,6 +66,7 @@ class S3Driver {
52
66
  });
53
67
  }
54
68
  async getStream(path) {
69
+ (0, path_utils_1.validatePath)(path);
55
70
  const key = this.normalizeKey(path);
56
71
  const command = new client_s3_1.GetObjectCommand({
57
72
  Bucket: this.bucket,
@@ -61,6 +76,7 @@ class S3Driver {
61
76
  return response.Body;
62
77
  }
63
78
  async delete(path) {
79
+ (0, path_utils_1.validatePath)(path);
64
80
  const key = this.normalizeKey(path);
65
81
  const command = new client_s3_1.DeleteObjectCommand({
66
82
  Bucket: this.bucket,
@@ -75,6 +91,7 @@ class S3Driver {
75
91
  }
76
92
  }
77
93
  async deleteMany(paths) {
94
+ (0, path_utils_1.validatePaths)(paths);
78
95
  if (paths.length === 0)
79
96
  return true;
80
97
  const command = new client_s3_1.DeleteObjectsCommand({
@@ -92,6 +109,7 @@ class S3Driver {
92
109
  }
93
110
  }
94
111
  async exists(path) {
112
+ (0, path_utils_1.validatePath)(path);
95
113
  const key = this.normalizeKey(path);
96
114
  const command = new client_s3_1.HeadObjectCommand({
97
115
  Bucket: this.bucket,
@@ -106,13 +124,18 @@ class S3Driver {
106
124
  }
107
125
  }
108
126
  url(path) {
127
+ (0, path_utils_1.validatePath)(path);
109
128
  const key = this.normalizeKey(path);
110
129
  if (this.cdnUrl) {
111
130
  return `${this.cdnUrl}/${key}`;
112
131
  }
132
+ if (this.endpoint) {
133
+ return `${this.endpoint}/${this.bucket}/${key}`;
134
+ }
113
135
  return `https://${this.bucket}.s3.amazonaws.com/${key}`;
114
136
  }
115
137
  async signedUrl(path, expiresIn) {
138
+ (0, path_utils_1.validatePath)(path);
116
139
  const key = this.normalizeKey(path);
117
140
  const command = new client_s3_1.GetObjectCommand({
118
141
  Bucket: this.bucket,
@@ -123,11 +146,15 @@ class S3Driver {
123
146
  });
124
147
  }
125
148
  async copy(from, to) {
149
+ (0, path_utils_1.validatePath)(from, 'from');
150
+ (0, path_utils_1.validatePath)(to, 'to');
126
151
  const fromKey = this.normalizeKey(from);
127
152
  const toKey = this.normalizeKey(to);
153
+ const encodedFromKey = encodeURIComponent(fromKey);
154
+ const copySource = `${this.bucket}/${encodedFromKey}`;
128
155
  const command = new client_s3_1.CopyObjectCommand({
129
156
  Bucket: this.bucket,
130
- CopySource: `${this.bucket}/${fromKey}`,
157
+ CopySource: copySource,
131
158
  Key: toKey,
132
159
  });
133
160
  await this.client.send(command);
@@ -137,11 +164,14 @@ class S3Driver {
137
164
  };
138
165
  }
139
166
  async move(from, to) {
167
+ (0, path_utils_1.validatePath)(from, 'from');
168
+ (0, path_utils_1.validatePath)(to, 'to');
140
169
  const result = await this.copy(from, to);
141
170
  await this.delete(from);
142
171
  return result;
143
172
  }
144
173
  async stat(path) {
174
+ (0, path_utils_1.validatePath)(path);
145
175
  const key = this.normalizeKey(path);
146
176
  const command = new client_s3_1.HeadObjectCommand({
147
177
  Bucket: this.bucket,
@@ -1 +1 @@
1
- {"version":3,"file":"s3.driver.js","sourceRoot":"","sources":["../../src/drivers/s3.driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.driver.js","sourceRoot":"","sources":["../../src/drivers/s3.driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.module.d.ts","sourceRoot":"","sources":["../src/storage.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EAG5B,MAAM,cAAc,CAAC;AA6CtB,qBACa,aAAa;IAKtB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAuB5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa;IAqBtE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAqBnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsB5C"}
1
+ {"version":3,"file":"storage.module.d.ts","sourceRoot":"","sources":["../src/storage.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6C,MAAM,gBAAgB,CAAC;AAG1F,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EAG5B,MAAM,cAAc,CAAC;AAwEtB,qBACa,aAAa;IAKtB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IA6B5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa;IA2BtE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAqBnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsB5C"}
@@ -21,7 +21,9 @@ async function createDriver(config) {
21
21
  driver = new local_driver_1.LocalDriver(config);
22
22
  break;
23
23
  case 's3':
24
- driver = new s3_driver_1.S3Driver(config);
24
+ const s3Driver = new s3_driver_1.S3Driver(config);
25
+ await s3Driver.ensureBucketExists();
26
+ driver = s3Driver;
25
27
  break;
26
28
  case 'azure':
27
29
  const azureDriver = new azure_blob_driver_1.AzureBlobDriver(config);
@@ -41,6 +43,26 @@ async function createDriversMap(options) {
41
43
  }
42
44
  return drivers;
43
45
  }
46
+ class StorageDriversCleaner {
47
+ constructor(drivers) {
48
+ this.drivers = drivers;
49
+ this.logger = new common_1.Logger(StorageDriversCleaner.name);
50
+ }
51
+ async onModuleDestroy() {
52
+ this.logger.log('Cleaning up storage drivers...');
53
+ for (const [diskName, driver] of this.drivers) {
54
+ try {
55
+ if (driver instanceof s3_driver_1.S3Driver) {
56
+ await driver.destroy();
57
+ this.logger.debug(`Destroyed S3 driver for disk: ${diskName}`);
58
+ }
59
+ }
60
+ catch (error) {
61
+ this.logger.error(`Failed to destroy driver for disk ${diskName}: ${error}`);
62
+ }
63
+ }
64
+ }
65
+ }
44
66
  let StorageModule = StorageModule_1 = class StorageModule {
45
67
  static forRoot(options) {
46
68
  const driversProvider = {
@@ -51,10 +73,15 @@ let StorageModule = StorageModule_1 = class StorageModule {
51
73
  provide: storage_constants_1.STORAGE_MODULE_OPTIONS,
52
74
  useValue: options,
53
75
  };
76
+ const cleanerProvider = {
77
+ provide: StorageDriversCleaner,
78
+ useFactory: (drivers) => new StorageDriversCleaner(drivers),
79
+ inject: [storage_constants_1.STORAGE_DRIVERS],
80
+ };
54
81
  return {
55
82
  module: StorageModule_1,
56
83
  global: true,
57
- providers: [optionsProvider, driversProvider, storage_service_1.StorageService],
84
+ providers: [optionsProvider, driversProvider, cleanerProvider, storage_service_1.StorageService],
58
85
  exports: [storage_service_1.StorageService],
59
86
  };
60
87
  }
@@ -65,11 +92,16 @@ let StorageModule = StorageModule_1 = class StorageModule {
65
92
  useFactory: async (moduleOptions) => await createDriversMap(moduleOptions),
66
93
  inject: [storage_constants_1.STORAGE_MODULE_OPTIONS],
67
94
  };
95
+ const cleanerProvider = {
96
+ provide: StorageDriversCleaner,
97
+ useFactory: (drivers) => new StorageDriversCleaner(drivers),
98
+ inject: [storage_constants_1.STORAGE_DRIVERS],
99
+ };
68
100
  return {
69
101
  module: StorageModule_1,
70
102
  global: true,
71
103
  imports: options.imports || [],
72
- providers: [...asyncProviders, driversProvider, storage_service_1.StorageService],
104
+ providers: [...asyncProviders, driversProvider, cleanerProvider, storage_service_1.StorageService],
73
105
  exports: [storage_service_1.StorageService],
74
106
  };
75
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.module.js","sourceRoot":"","sources":["../src/storage.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.module.js","sourceRoot":"","sources":["../src/storage.module.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@ export declare function dirname(filePath: string): string;
4
4
  export declare function trimLeadingSlash(filePath: string): string;
5
5
  export declare function trimTrailingSlash(filePath: string): string;
6
6
  export declare function ensureTrailingSlash(filePath: string): string;
7
+ export declare function validatePath(filePath: string, paramName?: string): void;
8
+ export declare function validatePaths(paths: string[], paramName?: string): void;
7
9
  //# sourceMappingURL=path.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.utils.d.ts","sourceRoot":"","sources":["../../src/utils/path.utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAKD,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnD;AAKD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAKD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"path.utils.d.ts","sourceRoot":"","sources":["../../src/utils/path.utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAKD,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnD;AAKD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAKD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI,CAU/E;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAgB,GAAG,IAAI,CAUhF"}
@@ -39,6 +39,8 @@ exports.dirname = dirname;
39
39
  exports.trimLeadingSlash = trimLeadingSlash;
40
40
  exports.trimTrailingSlash = trimTrailingSlash;
41
41
  exports.ensureTrailingSlash = ensureTrailingSlash;
42
+ exports.validatePath = validatePath;
43
+ exports.validatePaths = validatePaths;
42
44
  const path = __importStar(require("path"));
43
45
  function normalizePath(filePath) {
44
46
  return filePath.replace(/\\/g, '/');
@@ -58,4 +60,26 @@ function trimTrailingSlash(filePath) {
58
60
  function ensureTrailingSlash(filePath) {
59
61
  return trimTrailingSlash(filePath) + '/';
60
62
  }
63
+ function validatePath(filePath, paramName = 'path') {
64
+ if (filePath === undefined || filePath === null) {
65
+ throw new Error(`${paramName} is required`);
66
+ }
67
+ if (typeof filePath !== 'string') {
68
+ throw new Error(`${paramName} must be a string`);
69
+ }
70
+ if (filePath.trim() === '') {
71
+ throw new Error(`${paramName} cannot be empty`);
72
+ }
73
+ }
74
+ function validatePaths(paths, paramName = 'paths') {
75
+ if (paths === undefined || paths === null) {
76
+ throw new Error(`${paramName} is required`);
77
+ }
78
+ if (!Array.isArray(paths)) {
79
+ throw new Error(`${paramName} must be an array`);
80
+ }
81
+ paths.forEach((p, index) => {
82
+ validatePath(p, `${paramName}[${index}]`);
83
+ });
84
+ }
61
85
  //# sourceMappingURL=path.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.utils.js","sourceRoot":"","sources":["../../src/utils/path.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAEC;AAKD,4BAEC;AAKD,0BAEC;AAKD,4CAEC;AAKD,8CAEC;AAKD,kDAEC;AA1CD,2CAA6B;AAK7B,SAAgB,aAAa,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,QAAQ,CAAC,GAAG,KAAe;IACvC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAKD,SAAgB,OAAO,CAAC,QAAgB;IACpC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC;AAKD,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,mBAAmB,CAAC,QAAgB;IAChD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"path.utils.js","sourceRoot":"","sources":["../../src/utils/path.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAEC;AAKD,4BAEC;AAKD,0BAEC;AAKD,4CAEC;AAKD,8CAEC;AAKD,kDAEC;AAMD,oCAUC;AAMD,sCAUC;AA1ED,2CAA6B;AAK7B,SAAgB,aAAa,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,QAAQ,CAAC,GAAG,KAAe;IACvC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAKD,SAAgB,OAAO,CAAC,QAAgB;IACpC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC;AAKD,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,mBAAmB,CAAC,QAAgB;IAChD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;AAC7C,CAAC;AAMD,SAAgB,YAAY,CAAC,QAAgB,EAAE,YAAoB,MAAM;IACrE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;IACpD,CAAC;AACL,CAAC;AAMD,SAAgB,aAAa,CAAC,KAAe,EAAE,YAAoB,OAAO;IACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACvB,YAAY,CAAC,CAAC,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nest-multi-storage",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "A flexible multi-driver storage module for NestJS supporting S3, Azure Blob Storage, and Local File System",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",