InternalBackup data to validate.
Validation result with valid flag and any errors found.
export function validateBackup(backupData: BackupData): ValidationResult {
try {
if (!backupData.metadata) {
return { valid: false, errors: ["Missing backup metadata"] };
}
const allErrors = [
...validateMetadata(backupData.metadata),
...validateRequiredKeys(backupData),
...validateJsonKeys(backupData),
];
return { valid: allErrors.length === 0, errors: allErrors };
} catch (error) {
return {
valid: false,
errors: [
`Validation error: ${
error instanceof Error ? error.message : "Unknown error"
}`,
],
};
}
}
Validates backup data structure and compatibility. Checks for required keys, version compatibility, and data integrity.