Skip to content

Commit 2d0a046

Browse files
authored
Add support for folder decoupling (#523)
1 parent 57338ff commit 2d0a046

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

lib-es5/utils/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,11 +349,13 @@ function build_upload_params(options) {
349349
var params = {
350350
access_mode: options.access_mode,
351351
allowed_formats: options.allowed_formats && toArray(options.allowed_formats).join(","),
352+
asset_folder: options.asset_folder,
352353
async: utils.as_safe_bool(options.async),
353354
backup: utils.as_safe_bool(options.backup),
354355
callback: options.callback,
355356
cinemagraph_analysis: utils.as_safe_bool(options.cinemagraph_analysis),
356357
colors: utils.as_safe_bool(options.colors),
358+
display_name: options.display_name,
357359
discard_original_filename: utils.as_safe_bool(options.discard_original_filename),
358360
eager: utils.build_eager(options.eager),
359361
eager_async: utils.as_safe_bool(options.eager_async),
@@ -372,6 +374,7 @@ function build_upload_params(options) {
372374
phash: utils.as_safe_bool(options.phash),
373375
proxy: options.proxy,
374376
public_id: options.public_id,
377+
public_id_prefix: options.public_id_prefix,
375378
quality_analysis: utils.as_safe_bool(options.quality_analysis),
376379
responsive_breakpoints: utils.generate_responsive_breakpoints_string(options.responsive_breakpoints),
377380
return_delete_token: utils.as_safe_bool(options.return_delete_token),
@@ -381,6 +384,7 @@ function build_upload_params(options) {
381384
unique_filename: utils.as_safe_bool(options.unique_filename),
382385
upload_preset: options.upload_preset,
383386
use_filename: utils.as_safe_bool(options.use_filename),
387+
use_filename_as_display_name: utils.as_safe_bool(options.use_filename_as_display_name),
384388
quality_override: options.quality_override,
385389
accessibility_analysis: utils.as_safe_bool(options.accessibility_analysis)
386390
};

lib/utils/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,11 +328,13 @@ function build_upload_params(options) {
328328
let params = {
329329
access_mode: options.access_mode,
330330
allowed_formats: options.allowed_formats && toArray(options.allowed_formats).join(","),
331+
asset_folder: options.asset_folder,
331332
async: utils.as_safe_bool(options.async),
332333
backup: utils.as_safe_bool(options.backup),
333334
callback: options.callback,
334335
cinemagraph_analysis: utils.as_safe_bool(options.cinemagraph_analysis),
335336
colors: utils.as_safe_bool(options.colors),
337+
display_name: options.display_name,
336338
discard_original_filename: utils.as_safe_bool(options.discard_original_filename),
337339
eager: utils.build_eager(options.eager),
338340
eager_async: utils.as_safe_bool(options.eager_async),
@@ -351,6 +353,7 @@ function build_upload_params(options) {
351353
phash: utils.as_safe_bool(options.phash),
352354
proxy: options.proxy,
353355
public_id: options.public_id,
356+
public_id_prefix: options.public_id_prefix,
354357
quality_analysis: utils.as_safe_bool(options.quality_analysis),
355358
responsive_breakpoints: utils.generate_responsive_breakpoints_string(options.responsive_breakpoints),
356359
return_delete_token: utils.as_safe_bool(options.return_delete_token),
@@ -360,6 +363,7 @@ function build_upload_params(options) {
360363
unique_filename: utils.as_safe_bool(options.unique_filename),
361364
upload_preset: options.upload_preset,
362365
use_filename: utils.as_safe_bool(options.use_filename),
366+
use_filename_as_display_name: utils.as_safe_bool(options.use_filename_as_display_name),
363367
quality_override: options.quality_override,
364368
accessibility_analysis: utils.as_safe_bool(options.accessibility_analysis)
365369
};

test/integration/api/uploader/uploader_spec.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -773,6 +773,28 @@ describe("uploader", function () {
773773
});
774774
});
775775
});
776+
describe("folder decoupling", () => {
777+
const mocked = helper.mockTest();
778+
it('should pass folder decoupling params', () => {
779+
const public_id_prefix = "fd_public_id_prefix";
780+
const asset_folder = "asset_folder";
781+
const display_name = "display_name";
782+
const use_filename_as_display_name = true;
783+
const folder = "folder/test";
784+
UPLOADER_V2.upload(IMAGE_FILE, {
785+
public_id_prefix,
786+
asset_folder,
787+
display_name,
788+
use_filename_as_display_name,
789+
folder
790+
});
791+
sinon.assert.calledWithMatch(mocked.write, helper.uploadParamMatcher("public_id_prefix", public_id_prefix));
792+
sinon.assert.calledWithMatch(mocked.write, helper.uploadParamMatcher("asset_folder", asset_folder));
793+
sinon.assert.calledWithMatch(mocked.write, helper.uploadParamMatcher("display_name", display_name));
794+
sinon.assert.calledWithMatch(mocked.write, helper.uploadParamMatcher("use_filename_as_display_name", 1));
795+
sinon.assert.calledWithMatch(mocked.write, helper.uploadParamMatcher("folder", folder));
796+
});
797+
});
776798
it("should support unsigned uploading using presets", async function () {
777799
this.timeout(TIMEOUT.LONG);
778800

0 commit comments

Comments
 (0)