@sanvika/cloudinary 0.2.2 → 0.2.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.
- package/dist/index.js +13 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -228,6 +228,13 @@ async function getAppName() {
|
|
|
228
228
|
await ensureConfigured();
|
|
229
229
|
return _appName;
|
|
230
230
|
}
|
|
231
|
+
function stripAppPrefix(folder, appName) {
|
|
232
|
+
if (!folder || !appName) return folder || "";
|
|
233
|
+
const prefix = `${appName}/`;
|
|
234
|
+
if (folder === appName) return "";
|
|
235
|
+
if (folder.startsWith(prefix)) return folder.slice(prefix.length);
|
|
236
|
+
return folder;
|
|
237
|
+
}
|
|
231
238
|
async function uploadImage(fileOrBuffer, options = {}) {
|
|
232
239
|
await ensureConfigured();
|
|
233
240
|
const {
|
|
@@ -247,8 +254,9 @@ async function uploadImage(fileOrBuffer, options = {}) {
|
|
|
247
254
|
maxAttempts = 3
|
|
248
255
|
} = options;
|
|
249
256
|
const eagerValue = eager || transforms;
|
|
257
|
+
const normalizedFolder = stripAppPrefix(folder || "", _appName);
|
|
250
258
|
const uploadOptions = {
|
|
251
|
-
folder:
|
|
259
|
+
folder: normalizedFolder,
|
|
252
260
|
resourceType,
|
|
253
261
|
tags: [_appName, ...tags],
|
|
254
262
|
eager: eagerValue,
|
|
@@ -268,7 +276,7 @@ async function uploadImage(fileOrBuffer, options = {}) {
|
|
|
268
276
|
});
|
|
269
277
|
}
|
|
270
278
|
const cloudinary = await loadLegacyCloudinary();
|
|
271
|
-
const uploadFolder = getFolderPath(_appName,
|
|
279
|
+
const uploadFolder = getFolderPath(_appName, normalizedFolder);
|
|
272
280
|
const uploadOpts = {
|
|
273
281
|
folder: uploadFolder,
|
|
274
282
|
resource_type: resourceType,
|
|
@@ -321,14 +329,15 @@ async function uploadRawFile(buffer, options = {}) {
|
|
|
321
329
|
const { folder, filename, tags = [] } = options;
|
|
322
330
|
if (!buffer || !Buffer.isBuffer(buffer)) throw new Error("Buffer is required for uploadRawFile");
|
|
323
331
|
const baseName = filename ? filename.replace(/\.[^.]+$/, "") : "file";
|
|
332
|
+
const normalizedFolder = stripAppPrefix(folder || "", _appName);
|
|
324
333
|
if (isProxyMode()) {
|
|
325
334
|
return withRetry(
|
|
326
|
-
() => gatewayUpload(buffer, { folder:
|
|
335
|
+
() => gatewayUpload(buffer, { folder: normalizedFolder, resourceType: "raw", tags: ["raw", _appName, ...tags], publicId: baseName, overwrite: true, filename }),
|
|
327
336
|
{ operationName: "uploadRawFile", maxAttempts: 3 }
|
|
328
337
|
);
|
|
329
338
|
}
|
|
330
339
|
const cloudinary = await loadLegacyCloudinary();
|
|
331
|
-
const uploadFolder = getFolderPath(_appName,
|
|
340
|
+
const uploadFolder = getFolderPath(_appName, normalizedFolder);
|
|
332
341
|
return withRetry(
|
|
333
342
|
() => new Promise((resolve, reject) => {
|
|
334
343
|
const stream = cloudinary.uploader.upload_stream(
|
package/package.json
CHANGED