fix: aws would error if asked to del non-existing

pull/3808/head
Hannah Ward 2018-10-26 11:01:44 +01:00
parent 3d694bf6f1
commit 608ddaa969
No known key found for this signature in database
GPG Key ID: 6F3BAD60DE190290
1 changed files with 17 additions and 10 deletions

View File

@ -77,18 +77,25 @@ class AWSS3Client
}
public function deleteDirectory($prefix) {
$keys = $s3->listObjects([
$keys = $this->__client->listObjectsV2([
'Bucket' => $this->__settings['bucket_name'],
'Prefix' => $prefix
]) ->getPath('Contents/*/Key');
$s3->deleteObjects([
'Bucket' => $bucket,
'Delete' => [
'Objects' => array_map(function ($key) {
return ['Key' => $key];
}, $keys)
],
]);
$toDelete = array_map(
function ($key) {
return ['Key' => $key['Key']];
},
is_array($keys['Contents'])?$keys['Contents']:[]
);
if (sizeof($toDelete) != 0) {
$this->__client->deleteObjects([
'Bucket' => $this->__settings['bucket_name'],
'Delete' => [
'Objects' => $toDelete
]
]);
}
}
}