refactor: import/export use cases (#2397)

This commit is contained in:
Mo
2023-08-10 08:08:17 -05:00
committed by GitHub
parent 5bb749b601
commit 1e965caf18
43 changed files with 1085 additions and 673 deletions

View File

@@ -58,14 +58,16 @@ const DataBackups = ({ application }: Props) => {
}, [refreshEncryptionStatus])
const downloadDataArchive = async () => {
const data = isBackupEncrypted
? await application.createEncryptedBackupFile()
: await application.createDecryptedBackupFile()
const result = isBackupEncrypted
? await application.createEncryptedBackupFile.execute()
: await application.createDecryptedBackupFile.execute()
if (!data) {
if (result.isFailed()) {
return
}
const data = result.getValue()
const blobData = new Blob([JSON.stringify(data, null, 2)], {
type: 'text/json',
})
@@ -126,15 +128,11 @@ const DataBackups = ({ application }: Props) => {
setIsImportDataLoading(false)
if (!result) {
return
}
let statusText = STRING_IMPORT_SUCCESS
if ('error' in result) {
statusText = result.error.text
} else if (result.errorCount) {
statusText = StringImportError(result.errorCount)
if (result.isFailed()) {
statusText = result.getError()
} else if (result.getValue().errorCount) {
statusText = StringImportError(result.getValue().errorCount)
}
void alertDialog({
text: statusText,