Page MenuHomePhabricator

D3178.id9727.diff
No OneTemporary

D3178.id9727.diff

diff --git a/services/backup/docker-server/contents/server/src/DatabaseManager.h b/services/backup/docker-server/contents/server/src/DatabaseManager.h
--- a/services/backup/docker-server/contents/server/src/DatabaseManager.h
+++ b/services/backup/docker-server/contents/server/src/DatabaseManager.h
@@ -32,7 +32,7 @@
template <typename T>
std::shared_ptr<T>
innerFindItem(Aws::DynamoDB::Model::GetItemRequest &request);
- void innerRemoveItem(const Item &item, const std::string &key);
+ void innerRemoveItem(const Item &item);
public:
static DatabaseManager &getInstance();
diff --git a/services/backup/docker-server/contents/server/src/DatabaseManager.cpp b/services/backup/docker-server/contents/server/src/DatabaseManager.cpp
--- a/services/backup/docker-server/contents/server/src/DatabaseManager.cpp
+++ b/services/backup/docker-server/contents/server/src/DatabaseManager.cpp
@@ -28,14 +28,19 @@
}
}
-void DatabaseManager::innerRemoveItem(
- const Item &item,
- const std::string &key) {
+void DatabaseManager::innerRemoveItem(const Item &item) {
Aws::DynamoDB::Model::DeleteItemRequest request;
request.SetTableName(item.getTableName());
+ PrimaryKey pk = item.getPrimaryKey();
+ PrimaryKeyValue primaryKeyValue = item.getPrimaryKeyValue();
request.AddKey(
- item.getPrimaryKey().partitionKey,
- Aws::DynamoDB::Model::AttributeValue(key));
+ pk.partitionKey,
+ Aws::DynamoDB::Model::AttributeValue(primaryKeyValue.partitionKey));
+ if (pk.sortKey != nullptr && primaryKeyValue.sortKey != nullptr) {
+ request.AddKey(
+ *pk.sortKey,
+ Aws::DynamoDB::Model::AttributeValue(*primaryKeyValue.sortKey));
+ }
const Aws::DynamoDB::Model::DeleteItemOutcome &outcome =
getDynamoDBClient()->DeleteItem(request);
@@ -100,20 +105,7 @@
}
void DatabaseManager::removeBackupItem(std::shared_ptr<BackupItem> item) {
- Aws::DynamoDB::Model::DeleteItemRequest request;
- request.SetTableName(item->getTableName());
- request.AddKey(
- BackupItem::FIELD_USER_ID,
- Aws::DynamoDB::Model::AttributeValue(item->getUserID()));
- request.AddKey(
- BackupItem::FIELD_BACKUP_ID,
- Aws::DynamoDB::Model::AttributeValue(item->getBackupID()));
-
- const Aws::DynamoDB::Model::DeleteItemOutcome &outcome =
- comm::network::getDynamoDBClient()->DeleteItem(request);
- if (!outcome.IsSuccess()) {
- throw std::runtime_error(outcome.GetError().GetMessage());
- }
+ this->innerRemoveItem(*item);
}
void DatabaseManager::putLogItem(const LogItem &item) {
@@ -167,20 +159,7 @@
}
void DatabaseManager::removeLogItem(std::shared_ptr<LogItem> item) {
- Aws::DynamoDB::Model::DeleteItemRequest request;
- request.SetTableName(item->getTableName());
- request.AddKey(
- LogItem::FIELD_BACKUP_ID,
- Aws::DynamoDB::Model::AttributeValue(item->getBackupID()));
- request.AddKey(
- LogItem::FIELD_LOG_ID,
- Aws::DynamoDB::Model::AttributeValue(item->getLogID()));
-
- const Aws::DynamoDB::Model::DeleteItemOutcome &outcome =
- getDynamoDBClient()->DeleteItem(request);
- if (!outcome.IsSuccess()) {
- throw std::runtime_error(outcome.GetError().GetMessage());
- }
+ this->innerRemoveItem(*item);
}
} // namespace database

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 1, 11:27 PM (22 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2401682
Default Alt Text
D3178.id9727.diff (3 KB)

Event Timeline