updated UserDefaults demo to not use AppVersionKey
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
f136869171
commit
9a938b68c2
@ -10,6 +10,7 @@ struct AppStorageCatalog: StorageKeyCatalog {
|
|||||||
// Order here is purely for readability in audit reports.
|
// Order here is purely for readability in audit reports.
|
||||||
[
|
[
|
||||||
.key(.appVersion),
|
.key(.appVersion),
|
||||||
|
.key(.userDefaultsDemoValue),
|
||||||
.key(.userPreferences),
|
.key(.userPreferences),
|
||||||
.key(.credentials),
|
.key(.credentials),
|
||||||
.key(.lastLocation),
|
.key(.lastLocation),
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import LocalData
|
import LocalData
|
||||||
|
|
||||||
/// UserDefaults key used in the demo and as a lightweight migration flag.
|
/// UserDefaults key used as a lightweight migration flag.
|
||||||
extension StorageKey where Value == String {
|
extension StorageKey where Value == String {
|
||||||
/// Stores the app version in standard UserDefaults.
|
/// Stores the app version in standard UserDefaults.
|
||||||
/// - Domain: UserDefaults (standard)
|
/// - Domain: UserDefaults (standard)
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
import Foundation
|
||||||
|
import LocalData
|
||||||
|
|
||||||
|
/// UserDefaults key used exclusively by the UserDefaults demo screen.
|
||||||
|
extension StorageKey where Value == String {
|
||||||
|
/// Stores a demo value in standard UserDefaults.
|
||||||
|
/// - Domain: UserDefaults (standard)
|
||||||
|
/// - Security: None
|
||||||
|
/// - Sync: Automatic for small data
|
||||||
|
nonisolated static let userDefaultsDemoValue = StorageKey(
|
||||||
|
name: "user_defaults_demo_value",
|
||||||
|
domain: .userDefaults(suite: nil),
|
||||||
|
security: .none,
|
||||||
|
serializer: .json,
|
||||||
|
owner: "SampleApp",
|
||||||
|
description: "Stores a demo value for the UserDefaults screen.",
|
||||||
|
availability: .all,
|
||||||
|
syncPolicy: .automaticSmall
|
||||||
|
)
|
||||||
|
}
|
||||||
@ -142,7 +142,7 @@ struct UserDefaultsDemo: View {
|
|||||||
isLoading = true
|
isLoading = true
|
||||||
Task {
|
Task {
|
||||||
do {
|
do {
|
||||||
let key = StorageKey.appVersion
|
let key = StorageKey.userDefaultsDemoValue
|
||||||
try await StorageRouter.shared.set(inputText, for: key)
|
try await StorageRouter.shared.set(inputText, for: key)
|
||||||
statusMessage = "✓ Saved successfully"
|
statusMessage = "✓ Saved successfully"
|
||||||
} catch {
|
} catch {
|
||||||
@ -157,7 +157,7 @@ struct UserDefaultsDemo: View {
|
|||||||
isLoading = true
|
isLoading = true
|
||||||
Task {
|
Task {
|
||||||
do {
|
do {
|
||||||
let key = StorageKey.appVersion
|
let key = StorageKey.userDefaultsDemoValue
|
||||||
let value = try await StorageRouter.shared.get(key)
|
let value = try await StorageRouter.shared.get(key)
|
||||||
storedValue = value
|
storedValue = value
|
||||||
inputText = value // Sync to field
|
inputText = value // Sync to field
|
||||||
@ -177,7 +177,7 @@ struct UserDefaultsDemo: View {
|
|||||||
isLoading = true
|
isLoading = true
|
||||||
Task {
|
Task {
|
||||||
do {
|
do {
|
||||||
let key = StorageKey.appVersion
|
let key = StorageKey.userDefaultsDemoValue
|
||||||
try await StorageRouter.shared.remove(key)
|
try await StorageRouter.shared.remove(key)
|
||||||
storedValue = ""
|
storedValue = ""
|
||||||
statusMessage = "✓ Removed successfully"
|
statusMessage = "✓ Removed successfully"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user