diff --git a/Sources/PPG_framework/Models/Event.swift b/Sources/PPG_framework/Models/Event.swift index 7e017ca..143104c 100644 --- a/Sources/PPG_framework/Models/Event.swift +++ b/Sources/PPG_framework/Models/Event.swift @@ -8,12 +8,28 @@ import Foundation +public struct EventDTO { + init(event: Event) { + self.timestamp = event.timestamp + self.type = event.eventType.rawValue + self.campaign = event.campaign + self.button = event.button + self.sentAt = event.sentAt + } + + var timestamp: String + var type: String + var campaign: String + var button: Int? + var sentAt: Date? +} + // Protocol defining the method for sending events. protocol EventSender { func send(event: Event, handler: @escaping (_ result: ActionResult) -> Void) } -public class Event: Codable, CustomStringConvertible { +class Event: Codable, CustomStringConvertible { public var eventType: EventType public var timestamp: String // ISO8601 formatted timestamp @@ -81,6 +97,10 @@ public class Event: Codable, CustomStringConvertible { """ } + public func toDTO() -> EventDTO { + return EventDTO(event: self) + } + func getKey() -> String { return "\(eventType.rawValue)_\(button ?? 0)_\(campaign)" } diff --git a/Sources/PPG_framework/PPG.swift b/Sources/PPG_framework/PPG.swift index 98988b5..98f5d99 100644 --- a/Sources/PPG_framework/PPG.swift +++ b/Sources/PPG_framework/PPG.swift @@ -183,7 +183,7 @@ public class PPG: NSObject, UNUserNotificationCenterDelegate { ApiService.shared.sendBeacon(beacon: beacon, handler: handler) } - public static func getEvents() -> [Event] { - return SharedData.shared.eventManager.getEvents() + public static func getEvents() -> [EventDTO] { + return SharedData.shared.eventManager.getEvents().map {$0.toDTO()} } }