Use computed properties instead of separate getter methods

This commit is contained in:
Danny Moesch 2018-06-23 20:42:56 +02:00 committed by Bob Sun
parent f76721d7fe
commit 904d04d71c
5 changed files with 44 additions and 62 deletions

View file

@ -62,6 +62,10 @@ public class Password {
public var password = ""
public var changed: Int = 0
public var plainText = ""
public var plainData: Data { return plainText.data(using: .utf8)! }
public var username: String? { return getAdditionValue(withKey: Password.USERNAME_KEYWORD, caseSensitive: false) }
public var login: String? { return getAdditionValue(withKey: Password.LOGIN_KEYWORD, caseSensitive: false) }
public var urlString: String? { return getAdditionValue(withKey: Password.URL_KEYWORD, caseSensitive: false) }
private var additions = [AdditionField]()
private var firstLineIsOTPField = false
@ -180,18 +184,6 @@ public class Password {
}
}
public func getUsername() -> String? {
return getAdditionValue(withKey: Password.USERNAME_KEYWORD, caseSensitive: false)
}
public func getLogin() -> String? {
return getAdditionValue(withKey: Password.LOGIN_KEYWORD, caseSensitive: false)
}
public func getURLString() -> String? {
return getAdditionValue(withKey: Password.URL_KEYWORD, caseSensitive: false)
}
// return a key-value pair from the line
// key might be nil, if there is no ":" in the line
private static func getKeyValuePair(from line: String) -> (key: String?, value: String) {
@ -222,14 +214,6 @@ public class Password {
return plainTextSplit.count == 1 ? "" : plainTextSplit[1]
}
private func getPlainText() -> String {
return self.plainText
}
public func getPlainData() -> Data {
return getPlainText().data(using: .utf8)!
}
private func getAdditionValue(withKey key: String, caseSensitive: Bool = true) -> String? {
let searchKey = caseSensitive ? key : key.lowercased()
let matchingField = additions.first { (caseSensitive ? $0.title : $0.title.lowercased()) == searchKey }

View file

@ -850,7 +850,7 @@ public class PasswordStore {
guard keyring.keys.count > 0 else {
throw AppError.PGPPublicKeyNotExistError
}
let plainData = password.getPlainData()
let plainData = password.plainData
let encryptedData = try ObjectivePGP.encrypt(plainData, addSignature: false, using: keyring.keys, passphraseForKey: nil)
if SharedDefaults[.encryptInArmored] {
return Armor.armored(encryptedData, as: .message).data(using: .utf8)!