| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import Foundation
- /// Represents a physical recording device bound to a user account via BLE.
- struct BoundDevice: Codable, Identifiable, Equatable {
- let id: String // Unique device hardware ID / MAC / Serial
- var name: String // Display name of the device
- var peripheralUUID: String // CoreBluetooth Peripheral UUID
- var boundAt: Date // Date when bound to user account
- var isConnected: Bool // Connection status (runtime state)
- var batteryLevel: Int? // Battery percentage (0 - 100)
- var firmwareVersion: String? // Firmware version
- var boundUserId: String // User account ID owning this device
-
- init(
- id: String = UUID().uuidString,
- name: String,
- peripheralUUID: String = UUID().uuidString,
- boundAt: Date = Date(),
- isConnected: Bool = false,
- batteryLevel: Int? = 85,
- firmwareVersion: String? = "v1.2.0",
- boundUserId: String
- ) {
- self.id = id
- self.name = name
- self.peripheralUUID = peripheralUUID
- self.boundAt = boundAt
- self.isConnected = isConnected
- self.batteryLevel = batteryLevel
- self.firmwareVersion = firmwareVersion
- self.boundUserId = boundUserId
- }
- }
- /// Helper structure for BLE scanning discovery results
- struct DiscoveredBLEDevice: Identifiable, Equatable {
- let id: String
- let name: String
- let rssi: Int
- let peripheralUUID: String
- }
|