2021-09-21 20:49:12 -07:00
|
|
|
//
|
|
|
|
|
// MessageModel.swift
|
|
|
|
|
// MeshtasticClient
|
|
|
|
|
//
|
|
|
|
|
// Created by Garth Vander Houwen on 9/21/21.
|
|
|
|
|
//
|
|
|
|
|
import Foundation
|
|
|
|
|
|
2021-09-26 20:12:38 -07:00
|
|
|
struct MessageModel : Identifiable, Codable
|
2021-09-21 20:49:12 -07:00
|
|
|
{
|
|
|
|
|
let id: UUID
|
|
|
|
|
var messageId: UInt32
|
2021-10-01 08:33:11 -07:00
|
|
|
var messageTimestamp: UInt32
|
2021-09-26 20:12:38 -07:00
|
|
|
var fromUserId: UInt32
|
|
|
|
|
var toUserId: UInt32
|
2021-09-21 20:49:12 -07:00
|
|
|
var fromUserLongName: String
|
|
|
|
|
var toUserLongName: String
|
2021-09-24 21:53:17 -07:00
|
|
|
var fromUserShortName: String
|
|
|
|
|
var toUserShortName: String
|
2021-09-21 20:49:12 -07:00
|
|
|
var receivedACK: Bool
|
|
|
|
|
var messagePayload: String
|
|
|
|
|
var direction: String
|
|
|
|
|
|
2021-10-01 08:33:11 -07:00
|
|
|
init(id: UUID = UUID(), messageId: UInt32, messageTimeStamp: UInt32, fromUserId: UInt32, toUserId: UInt32, fromUserLongName: String, toUserLongName: String, fromUserShortName: String, toUserShortName: String, receivedACK: Bool, messagePayload: String, direction: String)
|
2021-09-21 20:49:12 -07:00
|
|
|
{
|
|
|
|
|
self.id = id
|
|
|
|
|
self.messageId = messageId
|
|
|
|
|
self.messageTimestamp = messageTimeStamp
|
|
|
|
|
self.fromUserId = fromUserId
|
|
|
|
|
self.toUserId = toUserId
|
|
|
|
|
self.fromUserLongName = fromUserLongName
|
|
|
|
|
self.toUserLongName = toUserLongName
|
2021-09-24 21:53:17 -07:00
|
|
|
self.fromUserShortName = fromUserShortName
|
|
|
|
|
self.toUserShortName = toUserShortName
|
2021-09-21 20:49:12 -07:00
|
|
|
self.receivedACK = receivedACK
|
|
|
|
|
self.messagePayload = messagePayload
|
|
|
|
|
self.direction = direction
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2021-09-26 20:12:38 -07:00
|
|
|
|
|
|
|
|
extension MessageModel {
|
|
|
|
|
|
|
|
|
|
static var data: [MessageModel] {
|
|
|
|
|
[
|
2021-09-28 23:04:24 -07:00
|
|
|
//MessageModel(messageId: 3773493338, messageTimeStamp: 1632407404, fromUserId: 2930161432, toUserId: 4294967295, fromUserLongName: "TBEAM ARMY GREEN", toUserLongName: "Unknown 1", fromUserShortName: "GVH", toUserShortName: "U1", receivedACK: false, messagePayload: "yo", direction: "received")
|
2021-09-26 20:12:38 -07:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extension MessageModel {
|
|
|
|
|
struct Data {
|
|
|
|
|
var id: UUID
|
|
|
|
|
var messageId: UInt32
|
2021-10-01 08:33:11 -07:00
|
|
|
var messageTimestamp: UInt32
|
2021-09-26 20:12:38 -07:00
|
|
|
var fromUserId: UInt32
|
|
|
|
|
var toUserId: UInt32
|
|
|
|
|
var fromUserLongName: String
|
|
|
|
|
var toUserLongName: String
|
|
|
|
|
var fromUserShortName: String
|
|
|
|
|
var toUserShortName: String
|
|
|
|
|
var receivedACK: Bool
|
|
|
|
|
var messagePayload: String
|
|
|
|
|
var direction: String
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var data: Data {
|
|
|
|
|
return Data(id: id, messageId: messageId, messageTimestamp: messageTimestamp, fromUserId: fromUserId, toUserId: toUserId, fromUserLongName: fromUserLongName, toUserLongName: toUserLongName, fromUserShortName: fromUserShortName, toUserShortName: toUserShortName, receivedACK: receivedACK, messagePayload: messagePayload, direction: direction)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mutating func update(from data: Data) {
|
|
|
|
|
messageId = data.messageId
|
|
|
|
|
messageTimestamp = data.messageTimestamp
|
|
|
|
|
fromUserId = data.fromUserId
|
|
|
|
|
toUserId = data.toUserId
|
|
|
|
|
fromUserLongName = data.fromUserLongName
|
|
|
|
|
toUserLongName = data.toUserLongName
|
|
|
|
|
fromUserShortName = data.fromUserShortName
|
|
|
|
|
toUserShortName = data.toUserShortName
|
|
|
|
|
receivedACK = data.receivedACK
|
|
|
|
|
messagePayload = data.messagePayload
|
|
|
|
|
direction = data.direction
|
|
|
|
|
}
|
|
|
|
|
}
|