92 lines
3.4 KiB
Swift
92 lines
3.4 KiB
Swift
//
|
|
// FeedlyAccountDelegateError.swift
|
|
// Account
|
|
//
|
|
// Created by Kiel Gillard on 9/10/19.
|
|
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum FeedlyAccountDelegateError: LocalizedError {
|
|
case notLoggedIn
|
|
case unableToAddFolder(String)
|
|
case unableToRenameFolder(String, String)
|
|
case unableToRemoveFolder(String)
|
|
case unableToMoveFeedBetweenFolders(Feed, Folder, Folder)
|
|
case addFeedChooseFolder
|
|
case addFeedInvalidFolder(Folder)
|
|
case unableToRenameFeed(String, String)
|
|
case unableToRemoveFeed(Feed)
|
|
|
|
var errorDescription: String? {
|
|
switch self {
|
|
case .notLoggedIn:
|
|
return NSLocalizedString("Please add the Feedly account again.", comment: "Feedly - Credentials not found.")
|
|
|
|
case .unableToAddFolder(let name):
|
|
let template = NSLocalizedString("Could not create a folder named \"%@\".", comment: "Feedly - Could not create a folder/collection.")
|
|
return String(format: template, name)
|
|
|
|
case .unableToRenameFolder(let from, let to):
|
|
let template = NSLocalizedString("Could not rename \"%@\" to \"%@\".", comment: "Feedly - Could not rename a folder/collection.")
|
|
return String(format: template, from, to)
|
|
|
|
case .unableToRemoveFolder(let name):
|
|
let template = NSLocalizedString("Could not remove the folder named \"%@\".", comment: "Feedly - Could not remove a folder/collection.")
|
|
return String(format: template, name)
|
|
|
|
case .unableToMoveFeedBetweenFolders(let feed, _, let to):
|
|
let template = NSLocalizedString("Could not move \"%@\" to \"%@\".", comment: "Feedly - Could not move a feed between folders/collections.")
|
|
return String(format: template, feed.nameForDisplay, to.nameForDisplay)
|
|
|
|
case .addFeedChooseFolder:
|
|
return NSLocalizedString("Please choose a folder to contain the feed.", comment: "Feedly - Feed can only be added to folders.")
|
|
|
|
case .addFeedInvalidFolder(let invalidFolder):
|
|
let template = NSLocalizedString("Feeds cannot be added to the \"%@\" folder.", comment: "Feedly - Feed can only be added to folders.")
|
|
return String(format: template, invalidFolder.nameForDisplay)
|
|
|
|
case .unableToRenameFeed(let from, let to):
|
|
let template = NSLocalizedString("Could not rename \"%@\" to \"%@\".", comment: "Feedly - Could not rename a feed.")
|
|
return String(format: template, from, to)
|
|
|
|
case .unableToRemoveFeed(let feed):
|
|
let template = NSLocalizedString("Could not remove \"%@\".", comment: "Feedly - Could not remove a feed.")
|
|
return String(format: template, feed.nameForDisplay)
|
|
}
|
|
}
|
|
|
|
var recoverySuggestion: String? {
|
|
switch self {
|
|
case .notLoggedIn:
|
|
return nil
|
|
|
|
case .unableToAddFolder:
|
|
return nil
|
|
|
|
case .unableToRenameFolder:
|
|
return nil
|
|
|
|
case .unableToRemoveFolder:
|
|
return nil
|
|
|
|
case .unableToMoveFeedBetweenFolders(let feed, let from, let to):
|
|
let template = NSLocalizedString("\"%@\" may be in both \"%@\" and \"%@\".", comment: "Feedly - Could not move a feed between folders/collections.")
|
|
return String(format: template, feed.nameForDisplay, from.nameForDisplay, to.nameForDisplay)
|
|
|
|
case .addFeedChooseFolder:
|
|
return nil
|
|
|
|
case .addFeedInvalidFolder:
|
|
return NSLocalizedString("Please choose a different folder to contain the feed.", comment: "Feedly - Feed can only be added to folders recovery suggestion.")
|
|
|
|
case .unableToRemoveFeed:
|
|
return nil
|
|
|
|
case .unableToRenameFeed:
|
|
return nil
|
|
}
|
|
}
|
|
}
|