(objects, newConfig, cb)
| 10 | const log = new DummyRequestLogger(); |
| 11 | |
| 12 | function changeObjectLock(objects, newConfig, cb) { |
| 13 | async.each(objects, (object, next) => { |
| 14 | const { bucket, key, versionId } = object; |
| 15 | metadataGetObject(bucket, key, versionIdUtils.decode(versionId), null, log, (err, objMD) => { |
| 16 | assert.ifError(err); |
| 17 | // set newConfig as empty string to remove object lock |
| 18 | /* eslint-disable no-param-reassign */ |
| 19 | objMD.retentionMode = newConfig.mode; |
| 20 | objMD.retentionDate = newConfig.date; |
| 21 | objMD.legalHold = false; |
| 22 | const params = { versionId: objMD.versionId, isNull: false }; |
| 23 | metadata.putObjectMD(bucket, key, objMD, params, log, err => { |
| 24 | assert.ifError(err); |
| 25 | next(); |
| 26 | }); |
| 27 | }); |
| 28 | }, cb); |
| 29 | } |
| 30 | |
| 31 | module.exports = changeObjectLock; |
no test coverage detected