This commit is contained in:
Max Goedjen 2025-08-10 14:27:04 -07:00
parent 998f4b9bf4
commit 81f5b41d6a
No known key found for this signature in database
2 changed files with 114 additions and 82 deletions

View File

@ -18,69 +18,101 @@ extension Preview {
}
//extension Preview {
//
// class Store: SecretStore, ObservableObject {
//
// let isAvailable = true
// let id = UUID()
// var name: String { "Preview Store" }
// @Published var secrets: [Secret] = []
//
// init(secrets: [Secret]) {
// self.secrets.append(contentsOf: secrets)
// }
//
// init(numberOfRandomSecrets: Int = 5) {
// let new = (0..<numberOfRandomSecrets).map { Secret(name: String(describing: $0)) }
// self.secrets.append(contentsOf: new)
// }
//
// func sign(data: Data, with secret: Preview.Secret, for provenance: SigningRequestProvenance) throws -> Data {
// return data
// }
//
// func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool {
// true
// }
//
// func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? {
// nil
// }
//
// func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws {
// }
//
// func reloadSecrets() {
// }
//
// }
//
// class StoreModifiable: Store, SecretStoreModifiable {
// override var name: String { "Modifiable Preview Store" }
//
// func create(name: String, requiresAuthentication: Bool) throws {
// }
//
// func delete(secret: Preview.Secret) throws {
// }
//
// func update(secret: Preview.Secret, name: String) throws {
// }
// }
//}
//
//extension Preview {
//
// static func storeList(stores: [Store] = [], modifiableStores: [StoreModifiable] = []) -> SecretStoreList {
// let list = SecretStoreList()
// for store in stores {
// list.add(store: store)
// }
// for storeModifiable in modifiableStores {
// list.add(store: storeModifiable)
// }
// return list
// }
//
//}
extension Preview {
final class Store: SecretStore, ObservableObject {
let isAvailable = true
let id = UUID()
var name: String { "Preview Store" }
let secrets: [Secret]
init(secrets: [Secret]) {
self.secrets = secrets
}
convenience init(numberOfRandomSecrets: Int = 5) {
let new = (0..<numberOfRandomSecrets).map { Secret(name: String(describing: $0)) }
self.init(secrets: new)
}
func sign(data: Data, with secret: Preview.Secret, for provenance: SigningRequestProvenance) throws -> Data {
return data
}
func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool {
true
}
func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? {
nil
}
func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws {
}
func reloadSecrets() {
}
}
final class StoreModifiable: SecretStoreModifiable {
let isAvailable = true
let id = UUID()
var name: String { "Modifiable Preview Store" }
let secrets: [Secret]
init(secrets: [Secret]) {
self.secrets = secrets
}
convenience init(numberOfRandomSecrets: Int = 5) {
let new = (0..<numberOfRandomSecrets).map { Secret(name: String(describing: $0)) }
self.init(secrets: new)
}
func sign(data: Data, with secret: Preview.Secret, for provenance: SigningRequestProvenance) throws -> Data {
return data
}
func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool {
true
}
func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? {
nil
}
func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws {
}
func reloadSecrets() {
}
func create(name: String, requiresAuthentication: Bool) throws {
}
func delete(secret: Preview.Secret) throws {
}
func update(secret: Preview.Secret, name: String) throws {
}
}
}
extension Preview {
static func storeList(stores: [Store] = [], modifiableStores: [StoreModifiable] = []) -> SecretStoreList {
let list = SecretStoreList()
for store in stores {
list.add(store: store)
}
for storeModifiable in modifiableStores {
list.add(store: storeModifiable)
}
return list
}
}

View File

@ -232,19 +232,19 @@ struct NotificationView: View {
}
//#if DEBUG
//
//struct CreateSecretView_Previews: PreviewProvider {
//
// static var previews: some View {
// Group {
// CreateSecretView(store: Preview.StoreModifiable(), showing: .constant(true))
// AuthenticationView().environment(\.colorScheme, .dark)
// AuthenticationView().environment(\.colorScheme, .light)
// NotificationView().environment(\.colorScheme, .dark)
// NotificationView().environment(\.colorScheme, .light)
// }
// }
//}
//
//#endif
#if DEBUG
struct CreateSecretView_Previews: PreviewProvider {
static var previews: some View {
Group {
CreateSecretView(store: Preview.StoreModifiable(), showing: .constant(true))
AuthenticationView().environment(\.colorScheme, .dark)
AuthenticationView().environment(\.colorScheme, .light)
NotificationView().environment(\.colorScheme, .dark)
NotificationView().environment(\.colorScheme, .light)
}
}
}
#endif