Skip to content

Commit 5096924

Browse files
Merge pull request #574 from cloudinary/feature/clear-invalid-metadata
Add support for update method parameter clear_invalid
2 parents 9afbba8 + 5d5947b commit 5096924

File tree

6 files changed

+34
-2
lines changed

6 files changed

+34
-2
lines changed

lib-es5/api.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,9 @@ exports.update = function update(public_id, callback) {
183183
if (options.moderation_status != null) {
184184
params.moderation_status = options.moderation_status;
185185
}
186+
if (options.clear_invalid != null) {
187+
params.clear_invalid = options.clear_invalid;
188+
}
186189
return call_api("post", uri, params, callback, options);
187190
};
188191

lib-es5/uploader.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,8 @@ exports.update_metadata = function update_metadata(metadata, public_ids, callbac
811811
metadata: utils.encode_context(metadata),
812812
public_ids: utils.build_array(public_ids),
813813
timestamp: utils.timestamp(),
814-
type: options.type
814+
type: options.type,
815+
clear_invalid: options.clear_invalid
815816
};
816817
return [params];
817818
});

lib/api.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ exports.update = function update(public_id, callback, options = {}) {
131131
if (options.moderation_status != null) {
132132
params.moderation_status = options.moderation_status;
133133
}
134+
if (options.clear_invalid !== null) {
135+
params.clear_invalid = options.clear_invalid;
136+
}
134137
return call_api("post", uri, params, callback, options);
135138
};
136139

lib/uploader.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,8 @@ exports.update_metadata = function update_metadata(metadata, public_ids, callbac
708708
metadata: utils.encode_context(metadata),
709709
public_ids: utils.build_array(public_ids),
710710
timestamp: utils.timestamp(),
711-
type: options.type
711+
type: options.type,
712+
clear_invalid: options.clear_invalid
712713
};
713714
return [params];
714715
});

test/integration/api/admin/api_spec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,19 @@ describe("api", function () {
891891
}
892892
});
893893
});
894+
it("should support updating metadata with clear_invalid", () => {
895+
this.timeout(TIMEOUT.LONG);
896+
return uploadImage()
897+
.then(upload_result => {
898+
return cloudinary.v2.api.update(upload_result.public_id, {
899+
clear_invalid: true
900+
});
901+
}).then(() => {
902+
if (writeSpy.called) {
903+
sinon.assert.calledWith(writeSpy, sinon.match(/clear_invalid=true/));
904+
}
905+
});
906+
});
894907
});
895908
describe("quality override", function() {
896909
const mocked = helper.mockTest();

test/integration/api/uploader/uploader_spec.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,6 +1145,17 @@ describe("uploader", function () {
11451145
sinon.assert.calledWith(writeSpy, sinon.match(helper.uploadParamMatcher("public_ids[]", public_ids[1])));
11461146
});
11471147
});
1148+
it("should support updating metadata with clear_invalid", function () {
1149+
const metadata_fields = { metadata_color: "red" };
1150+
const public_ids = ["test_id_1"];
1151+
return helper.provideMockObjects(function (mockXHR, writeSpy, requestSpy) {
1152+
cloudinary.v2.uploader.update_metadata(metadata_fields, public_ids, { clear_invalid: true });
1153+
sinon.assert.calledWith(requestSpy, sinon.match({
1154+
method: sinon.match("POST")
1155+
}));
1156+
sinon.assert.calledWith(writeSpy, sinon.match(helper.uploadParamMatcher("clear_invalid", true)));
1157+
});
1158+
})
11481159
});
11491160
describe("access_control", function () {
11501161
var acl, acl_string, options, requestSpy, writeSpy;

0 commit comments

Comments
 (0)