mirror of
https://github.com/overte-org/overte.git
synced 2025-04-15 19:39:20 +02:00
Add corrupted backup status to domain content backup info
This commit is contained in:
parent
769d5677b1
commit
479dfaf330
6 changed files with 23 additions and 1 deletions
|
@ -111,6 +111,17 @@ void AssetsBackupHandler::checkForAssetsToDelete() {
|
|||
}
|
||||
}
|
||||
|
||||
bool AssetsBackupHandler::isCorruptedBackup(const QString& filePath) {
|
||||
auto it = find_if(begin(_backups), end(_backups), [&](const std::vector<AssetServerBackup>::value_type& value) {
|
||||
return value.filePath == filePath;
|
||||
});
|
||||
|
||||
if (it == end(_backups)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return it->corruptedBackup;
|
||||
}
|
||||
|
||||
std::pair<bool, float> AssetsBackupHandler::isAvailable(const QString& backupName) {
|
||||
const auto it = find_if(begin(_backups), end(_backups), [&](const AssetServerBackup& backup) {
|
||||
|
|
|
@ -39,6 +39,7 @@ public:
|
|||
void recoverBackup(const QString& backupName, QuaZip& zip) override;
|
||||
void deleteBackup(const QString& backupName) override;
|
||||
void consolidateBackup(const QString& backupName, QuaZip& zip) override;
|
||||
bool isCorruptedBackup(const QString& absoluteFilePath) override;
|
||||
|
||||
bool operationInProgress() { return getRecoveryStatus().first; }
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ public:
|
|||
virtual void recoverBackup(const QString& backupName, QuaZip& zip) = 0;
|
||||
virtual void deleteBackup(const QString& backupName) = 0;
|
||||
virtual void consolidateBackup(const QString& backupName, QuaZip& zip) = 0;
|
||||
virtual bool isCorruptedBackup(const QString& absoluteFilePath) = 0;
|
||||
};
|
||||
using BackupHandlerPointer = std::unique_ptr<BackupHandlerInterface>;
|
||||
|
||||
|
|
|
@ -31,6 +31,9 @@ public:
|
|||
void deleteBackup(const QString& backupName) override {}
|
||||
|
||||
void consolidateBackup(const QString& backupName, QuaZip& zip) override {}
|
||||
|
||||
bool isCorruptedBackup(const QString& absoluteFilePath) override { return true; }
|
||||
|
||||
private:
|
||||
DomainServerSettingsManager& _settingsManager;
|
||||
};
|
||||
|
|
|
@ -363,6 +363,7 @@ void DomainContentBackupManager::getAllBackupsAndStatus(MiniPromise::Promise pro
|
|||
|
||||
for (auto& backup : backups) {
|
||||
bool isAvailable { true };
|
||||
bool isCorrupted { false };
|
||||
float availabilityProgress { 0.0f };
|
||||
for (auto& handler : _backupHandlers) {
|
||||
bool handlerIsAvailable { true };
|
||||
|
@ -370,6 +371,8 @@ void DomainContentBackupManager::getAllBackupsAndStatus(MiniPromise::Promise pro
|
|||
std::tie(handlerIsAvailable, progress) = handler->isAvailable(backup.id);
|
||||
isAvailable &= handlerIsAvailable;
|
||||
availabilityProgress += progress / _backupHandlers.size();
|
||||
|
||||
isCorrupted = isCorrupted || handler->isCorruptedBackup(backup.absolutePath);
|
||||
}
|
||||
variantBackups.push_back(QVariantMap({
|
||||
{ "id", backup.id },
|
||||
|
@ -377,7 +380,8 @@ void DomainContentBackupManager::getAllBackupsAndStatus(MiniPromise::Promise pro
|
|||
{ "createdAtMillis", backup.createdAt.toMSecsSinceEpoch() },
|
||||
{ "isAvailable", isAvailable },
|
||||
{ "availabilityProgress", availabilityProgress },
|
||||
{ "isManualBackup", backup.isManualBackup }
|
||||
{ "isManualBackup", backup.isManualBackup },
|
||||
{ "isCorrupted", isCorrupted }
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,8 @@ public:
|
|||
// Create a full backup
|
||||
void consolidateBackup(const QString& backupName, QuaZip& zip) override {}
|
||||
|
||||
bool isCorruptedBackup(const QString& absoluteFilePath) override { return false; }
|
||||
|
||||
private:
|
||||
QString _entitiesFilePath;
|
||||
QString _entitiesReplacementFilePath;
|
||||
|
|
Loading…
Reference in a new issue