Meshtastic-Apple/Meshtastic/Extensions/CoreData/DeviceMetadataEntityExtension.swift

23 lines
858 B
Swift
Raw Normal View History

import Foundation
2026-04-16 12:10:00 -07:00
import SwiftData
import MeshtasticProtobufs
extension DeviceMetadataEntity {
2026-04-16 12:10:00 -07:00
convenience init(metadata: DeviceMetadata) {
self.init()
self.time = Date()
self.deviceStateVersion = Int32(metadata.deviceStateVersion)
self.canShutdown = metadata.canShutdown
self.hasWifi = metadata.hasWifi_p
self.hasBluetooth = metadata.hasBluetooth_p
self.hasEthernet = metadata.hasEthernet_p
self.role = Int32(metadata.role.rawValue)
self.positionFlags = Int32(metadata.positionFlags)
// Swift does strings weird, this does work to get the version without the github hash
let lastDotIndex = metadata.firmwareVersion.lastIndex(of: ".")
var version = metadata.firmwareVersion[...(lastDotIndex ?? String.Index(utf16Offset: 6, in: metadata.firmwareVersion))]
version = version.dropLast()
self.firmwareVersion = String(version)
}
}