33 lines
693 B
Swift
33 lines
693 B
Swift
|
import Combine
|
||
|
import Foundation
|
||
|
import GRDB
|
||
|
import SwiftUI
|
||
|
|
||
|
struct Credentials: DBStorable, Hashable {
|
||
|
static let databaseTableName = "credentials"
|
||
|
|
||
|
var id: String { bareJid }
|
||
|
var bareJid: String
|
||
|
var pass: String
|
||
|
var isActive: Bool
|
||
|
|
||
|
func save() async throws {
|
||
|
let db = Database.shared.dbQueue
|
||
|
try await db.write { db in
|
||
|
try self.save(db)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func delete() async throws {
|
||
|
let db = Database.shared.dbQueue
|
||
|
_ = try await db.write { db in
|
||
|
try self.delete(db)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension Credentials: UniversalInputSelectionElement {
|
||
|
var text: String? { bareJid }
|
||
|
var icon: Image? { nil }
|
||
|
}
|