SecureStorageSample/SecureStorgageSample/StorageKeys/AppGroup/AppGroupUserProfileKey.swift

31 lines
988 B
Swift

import Foundation
import LocalData
import SharedKit
extension StorageKeys {
/// Stores a shared user profile in the App Group container.
/// - Domain: App Group File System
/// - Security: None
/// - Sync: Never
struct AppGroupUserProfileKey: StorageKey {
typealias Value = UserProfile
let directory: FileDirectory
let name = "app_group_user_profile.json"
let security: SecurityPolicy = .none
let serializer: Serializer<UserProfile> = .json
let owner = "SampleApp"
let description = "Stores a profile shared between the app and extensions."
let availability: PlatformAvailability = .all
let syncPolicy: SyncPolicy = .never
init(directory: FileDirectory = .documents) {
self.directory = directory
}
var domain: StorageDomain {
.appGroupFileSystem(identifier: StorageServiceIdentifiers.appGroupIdentifier, directory: directory)
}
}
}