diff --git a/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.h b/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.h --- a/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.h +++ b/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.h @@ -62,6 +62,8 @@ BackupItem(const AttributeValues &itemFromDB); void assignItemFromDatabase(const AttributeValues &itemFromDB) override; + void + assignItemFromDatabaseUserIDCreatedIndex(const AttributeValues &itemFromDB); std::string getTableName() const override; PrimaryKey getPrimaryKey() const override; diff --git a/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.cpp b/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.cpp --- a/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.cpp +++ b/services/backup/docker-server/contents/server/src/DatabaseEntities/BackupItem.cpp @@ -74,6 +74,21 @@ this->validate(); } +void BackupItem::assignItemFromDatabaseUserIDCreatedIndex( + const AttributeValues &itemFromDB) { + try { + this->userID = itemFromDB.at(BackupItem::FIELD_USER_ID).GetS(); + this->backupID = itemFromDB.at(BackupItem::FIELD_BACKUP_ID).GetS(); + this->created = std::stoll( + std::string(itemFromDB.at(BackupItem::FIELD_CREATED).GetS()).c_str()); + this->recoveryData = itemFromDB.at(BackupItem::FIELD_RECOVERY_DATA).GetS(); + } catch (std::logic_error &e) { + throw std::runtime_error( + "invalid backup item provided, " + std::string(e.what())); + } + this->validate(); +} + std::string BackupItem::getTableName() const { return BackupItem::tableName; }