fix: user-feedback-on-schema-mismatch (#1558)

* validate schema version on restore

* show user error on backup failure
This commit is contained in:
Hayden
2022-08-14 11:06:35 -08:00
committed by GitHub
parent 7adcc86d03
commit 3985713cbd
4 changed files with 56 additions and 15 deletions

View File

@@ -9,8 +9,8 @@ from mealie.core.security import create_file_token
from mealie.pkgs.stats.fs_stats import pretty_size
from mealie.routes._base import BaseAdminController, controller
from mealie.schema.admin.backup import AllBackups, BackupFile
from mealie.schema.response.responses import FileTokenResponse, SuccessResponse
from mealie.services.backups_v2.backup_v2 import BackupV2
from mealie.schema.response.responses import ErrorResponse, FileTokenResponse, SuccessResponse
from mealie.services.backups_v2.backup_v2 import BackupSchemaMismatch, BackupV2
router = APIRouter(prefix="/backups")
@@ -100,6 +100,11 @@ class AdminBackupController(BaseAdminController):
try:
backup.restore(file)
except BackupSchemaMismatch as e:
raise HTTPException(
status.HTTP_400_BAD_REQUEST,
ErrorResponse.respond("database backup schema version does not match current database"),
) from e
except Exception as e:
raise HTTPException(status.HTTP_500_INTERNAL_SERVER_ERROR) from e