49 lines
1.6 KiB
Swift
49 lines
1.6 KiB
Swift
//
|
|
// AppError.swift
|
|
// pass
|
|
//
|
|
// Created by Mingshen Sun on 30/4/2017.
|
|
// Copyright © 2017 Bob Sun. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public enum AppError: Error {
|
|
case RepositoryNotSetError
|
|
case RepositoryRemoteBranchNotFoundError(_: String)
|
|
case RepositoryBranchNotFound(_: String)
|
|
case KeyImportError
|
|
case PasswordDuplicatedError
|
|
case GitResetError
|
|
case PGPPublicKeyNotExistError
|
|
case WrongPasswordFilename
|
|
case DecryptionError
|
|
case UnknownError
|
|
}
|
|
|
|
extension AppError: LocalizedError {
|
|
public var errorDescription: String? {
|
|
switch self {
|
|
case .RepositoryNotSetError:
|
|
return "Git repository is not set."
|
|
case let .RepositoryRemoteBranchNotFoundError(remoteBranchName):
|
|
return "Cannot find remote branch 'origin/\(remoteBranchName)'."
|
|
case let .RepositoryBranchNotFound(branchName):
|
|
return "Branch with name '\(branchName)' not found in repository."
|
|
case .KeyImportError:
|
|
return "Cannot import the key."
|
|
case .PasswordDuplicatedError:
|
|
return "Cannot add the password: password duplicated."
|
|
case .GitResetError:
|
|
return "Cannot identify the latest synced commit."
|
|
case .PGPPublicKeyNotExistError:
|
|
return "PGP public key doesn't exist."
|
|
case .WrongPasswordFilename:
|
|
return "Cannot write to the password file."
|
|
case .DecryptionError:
|
|
return "Cannot decrypt password."
|
|
case .UnknownError:
|
|
return "Unknown error."
|
|
}
|
|
}
|
|
}
|