hotfix tenant deletion if no bucket present
This commit is contained in:
parent
f0b484895a
commit
e71712450d
@ -80,6 +80,7 @@ import software.amazon.awssdk.services.s3.model.DeleteBucketRequest;
|
||||
import software.amazon.awssdk.services.s3.model.DeleteObjectRequest;
|
||||
import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
|
||||
import software.amazon.awssdk.services.s3.model.ListObjectsResponse;
|
||||
import software.amazon.awssdk.services.s3.model.NoSuchBucketException;
|
||||
import software.amazon.awssdk.services.s3.model.S3Object;
|
||||
|
||||
@Slf4j
|
||||
@ -273,13 +274,17 @@ public class TenantManagementService implements TenantProvider {
|
||||
try (var client = storageConfiguration.getS3StorageService().initAmazonS3(s3StorageConnection)) {
|
||||
String bucketName = s3StorageConnection.getBucketName();
|
||||
ListObjectsRequest listObjects = ListObjectsRequest.builder().bucket(bucketName).build();
|
||||
try {
|
||||
ListObjectsResponse objectList = client.listObjects(listObjects);
|
||||
for (S3Object object : objectList.contents()) {
|
||||
// Delete each object
|
||||
client.deleteObject(DeleteObjectRequest.builder().bucket(bucketName).key(object.key()).build());
|
||||
for (S3Object object : objectList.contents()) {
|
||||
// Delete each object
|
||||
client.deleteObject(DeleteObjectRequest.builder().bucket(bucketName).key(object.key()).build());
|
||||
}
|
||||
DeleteBucketRequest deleteBucketRequest = DeleteBucketRequest.builder().bucket(bucketName).expectedBucketOwner(tenantId).build();
|
||||
client.deleteBucket(deleteBucketRequest);
|
||||
} catch (NoSuchBucketException noSuchBucketException) {
|
||||
log.info("The bucket did not exist and therefore did not need to be deleted.");
|
||||
}
|
||||
DeleteBucketRequest deleteBucketRequest = DeleteBucketRequest.builder().bucket(bucketName).expectedBucketOwner(tenantId).build();
|
||||
client.deleteBucket(deleteBucketRequest);
|
||||
}
|
||||
}
|
||||
log.info("Deleting mongodb database for tenant: {}", tenant.getTenantId());
|
||||
@ -415,6 +420,7 @@ public class TenantManagementService implements TenantProvider {
|
||||
private void deleteMongoDBDatabase(TenantResponse tenant) {
|
||||
|
||||
MongoDBConnection mongoDBConnection = tenant.getMongoDBConnection();
|
||||
mongoDBConnection.setPassword(encryptionService.decrypt(mongoDBConnection.getPassword()));
|
||||
try (MongoClient mongoClient = MongoClients.create(MongoConnectionStringHelper.buildGenericMongoConnectionString(mongoDBConnection))) {
|
||||
String databaseName = mongoDBConnection.getDatabase();
|
||||
mongoClient.getDatabase(databaseName).drop();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user