(params, callback)
| 98 | } |
| 99 | |
| 100 | async function removeAllVersions(params, callback) { |
| 101 | try { |
| 102 | const bucket = params.Bucket; |
| 103 | const data = await s3Client.send(new ListObjectVersionsCommand(params)); |
| 104 | |
| 105 | if (data.DeleteMarkers && data.DeleteMarkers.length > 0) { |
| 106 | await deleteVersionList(data.DeleteMarkers, bucket); |
| 107 | } |
| 108 | |
| 109 | if (data.Versions && data.Versions.length > 0) { |
| 110 | await deleteVersionList(data.Versions, bucket); |
| 111 | } |
| 112 | |
| 113 | if (data.IsTruncated) { |
| 114 | const nextParams = { |
| 115 | Bucket: bucket, |
| 116 | KeyMarker: data.NextKeyMarker, |
| 117 | VersionIdMarker: data.NextVersionIdMarker |
| 118 | }; |
| 119 | await removeAllVersions(nextParams); |
| 120 | } |
| 121 | |
| 122 | callback(); |
| 123 | } catch (error) { |
| 124 | callback(error); |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | function objectMPU(bucket, key, parts, partSize, callback) { |
| 129 | let ETags = []; |
no test coverage detected