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 @@ -38,6 +38,8 @@ static DatabaseManager &getInstance(); void putBackupItem(const BackupItem &item); + std::shared_ptr + findBackupItem(const std::string &userID, const std::string &backupID); std::shared_ptr findLastBackupItem(const std::string &userID); void removeBackupItem(std::shared_ptr item); 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 @@ -77,6 +77,19 @@ this->innerPutItem(std::make_shared(item), request); } +std::shared_ptr DatabaseManager::findBackupItem( + const std::string &userID, + const std::string &backupID) { + Aws::DynamoDB::Model::GetItemRequest request; + request.AddKey( + BackupItem::FIELD_USER_ID, Aws::DynamoDB::Model::AttributeValue(userID)); + request.AddKey( + BackupItem::FIELD_BACKUP_ID, + Aws::DynamoDB::Model::AttributeValue(backupID)); + + return std::move(this->innerFindItem(request)); +} + std::shared_ptr DatabaseManager::findLastBackupItem(const std::string &userID) { std::shared_ptr item = createItemByType();