Files
Nearfield_Friends/Proximity/Models/UserProfile.swift

34 lines
869 B
Swift

import Foundation
/// The user's own local identity and preferences.
///
/// Deliberately minimal: Proximity collects the *least* data needed to connect
/// humans. There is no profile photo, no bio, no social graph import.
struct UserProfile: Codable {
var id: UUID
var displayName: String
var publicKey: Data
/// Master "open to connection" state.
var isOpenToConnect: Bool
/// Preferred radius tier.
var radiusTier: DistanceTier
/// When true, the user is present but invisible to others.
var isIncognito: Bool
/// When true, the user is not discoverable at all.
var isBlocked: Bool
static let empty = UserProfile(
id: UUID(),
displayName: "",
publicKey: Data(),
isOpenToConnect: false,
radiusTier: .rightHere,
isIncognito: false,
isBlocked: false
)
}