Skip to content
Snippets Groups Projects

Account recovery/backup feature

8 files
+ 124
120
Compare changes
  • Side-by-side
  • Inline

Files

@@ -39,7 +39,6 @@ final class RestoreListViewModel {
switch authResult {
case .success:
self.hudSubject.send(.on)
self.drive.downloadMetadata { downloadResult in
switch downloadResult {
case .success(let metadata):
@@ -64,9 +63,27 @@ final class RestoreListViewModel {
private func didRequestICloudAuthorization() {
if icloud.isAuthorized() {
// DOWNLOAD METADATA
self.hudSubject.send(.on)
icloud.downloadMetadata { result in
switch result {
case .success(let metadata):
var backup: Backup?
if let metadata = metadata {
backup = .init(id: metadata.path, date: metadata.modifiedDate, size: metadata.size)
}
self.hudSubject.send(.none)
self.backupSubject.send(RestoreSettings(backup: backup, cloudService: .icloud))
case .failure(let error):
self.hudSubject.send(.error(.init(with: error)))
}
}
} else {
// PRESENT ALERT
/// This could be an alert controller asking if user wants to enable/deeplink
///
icloud.openSettings()
}
}
@@ -79,7 +96,6 @@ final class RestoreListViewModel {
guard bool == true else { return }
self.hudSubject.send(.on)
dropbox.downloadMetadata { metadataResult in
switch metadataResult {
case .success(let metadata):
Loading