Version 2.3.2
This commit is contained in:
@@ -42,6 +42,7 @@ class SettingsService {
|
||||
static let googleAPIKey = "googleAPIKey"
|
||||
static let googleSearchEngineID = "googleSearchEngineID"
|
||||
static let anytypeMcpAPIKey = "anytypeMcpAPIKey"
|
||||
static let paperlessAPIToken = "paperlessAPIToken"
|
||||
}
|
||||
|
||||
// Old keychain keys (for migration only)
|
||||
@@ -446,6 +447,49 @@ class SettingsService {
|
||||
return !key.isEmpty
|
||||
}
|
||||
|
||||
// MARK: - Paperless-NGX Settings
|
||||
|
||||
var paperlessEnabled: Bool {
|
||||
get { cache["paperlessEnabled"] == "true" }
|
||||
set {
|
||||
cache["paperlessEnabled"] = String(newValue)
|
||||
DatabaseService.shared.setSetting(key: "paperlessEnabled", value: String(newValue))
|
||||
}
|
||||
}
|
||||
|
||||
var paperlessURL: String {
|
||||
get { cache["paperlessURL"] ?? "" }
|
||||
set {
|
||||
var trimmed = newValue.trimmingCharacters(in: .whitespaces)
|
||||
// Remove trailing slash for consistency
|
||||
while trimmed.hasSuffix("/") { trimmed = String(trimmed.dropLast()) }
|
||||
if trimmed.isEmpty {
|
||||
cache.removeValue(forKey: "paperlessURL")
|
||||
DatabaseService.shared.deleteSetting(key: "paperlessURL")
|
||||
} else {
|
||||
cache["paperlessURL"] = trimmed
|
||||
DatabaseService.shared.setSetting(key: "paperlessURL", value: trimmed)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var paperlessAPIToken: String? {
|
||||
get { try? DatabaseService.shared.getEncryptedSetting(key: EncryptedKeys.paperlessAPIToken) }
|
||||
set {
|
||||
if let value = newValue, !value.isEmpty {
|
||||
try? DatabaseService.shared.setEncryptedSetting(key: EncryptedKeys.paperlessAPIToken, value: value)
|
||||
} else {
|
||||
DatabaseService.shared.deleteEncryptedSetting(key: EncryptedKeys.paperlessAPIToken)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var paperlessConfigured: Bool {
|
||||
guard !paperlessURL.isEmpty else { return false }
|
||||
guard let token = paperlessAPIToken else { return false }
|
||||
return !token.isEmpty
|
||||
}
|
||||
|
||||
// MARK: - Search Settings
|
||||
|
||||
var searchProvider: Settings.SearchProvider {
|
||||
|
||||
Reference in New Issue
Block a user