Files
ShhShell/ShhShell/Host/Host.swift
neon443 76601e0470 made more funcitons throw errors instead of just return, more informative
added name to host
removed hostkey from connectionview as its in keys now
fix crash on force unrap in keypair navigatoin labels
added hostinvalid() to check if the host is invalid
added case notconnected for keyerror
openshell is throwing
moved stuff round
2025-06-25 17:17:47 +01:00

76 lines
1.4 KiB
Swift

//
// Host.swift
// ShhShell
//
// Created by neon443 on 08/06/2025.
//
import Foundation
protocol HostPr: Codable, Identifiable, Equatable {
var id: UUID { get set }
var name: String { get set }
var address: String { get set }
var port: Int { get set }
var username: String { get set }
var password: String { get set }
var publicKey: Data? { get set }
var privateKey: Data? { get set }
var passphrase: String { get set }
var key: String? { get set }
}
struct Host: HostPr {
var id = UUID()
var name: String = ""
var address: String = ""
var port: Int
var username: String
var password: String
var publicKey: Data?
var privateKey: Data?
var passphrase: String = ""
var key: String?
init(
name: String = "",
address: String,
port: Int = 22,
username: String = "",
password: String = "",
publicKey: Data? = nil,
privateKey: Data? = nil,
passphrase: String = "",
hostkey: String? = nil
) {
self.name = name
self.address = address
self.port = port
self.username = username
self.password = password
self.publicKey = publicKey
self.privateKey = privateKey
self.passphrase = passphrase
self.key = hostkey
}
}
extension Host {
static var blank: Host {
Host(address: "")
}
static var debug: Host {
Host(
name: "name for localhost",
address: "localhost",
port: 22,
username: "neon443",
password: "password",
publicKey: nil,
privateKey: nil,
passphrase: "",
hostkey: nil
)
}
}