Events.swift 2.28 KB
//
//  Events.swift
//  SwiftWarplyFramework
//
//  Created by Warply on 06/06/2025.
//  Copyright © 2025 Warply. All rights reserved.
//

import Foundation

// MARK: - Event Models

public class LoyaltySDKFirebaseEventModel {
    private var eventName: String
    private var parameters: [String: String]?
    
    public init() {
        self.eventName = ""
        self.parameters = [String: String]()
    }
    
    public var _eventName: String {
        get { return self.eventName }
        set(newValue) { self.eventName = newValue }
    }
    
    public var _parameters: [String: String]? {
        get { return self.parameters }
        set(newValue) { self.parameters = newValue }
    }
    
    public var setParameter: (key: String, value: String) {
        @available(*, unavailable)
        get {
            return (key: "", value: "")
        }
        set(newValue) {
            self.parameters?.updateValue(newValue.1, forKey: newValue.0)
        }
    }
}

public class LoyaltySDKDynatraceEventModel {
    private var eventName: String
    private var parameters: [String: String]?
    
    public init() {
        self.eventName = ""
        self.parameters = [String: String]()
    }
    
    public var _eventName: String {
        get { return self.eventName }
        set(newValue) { self.eventName = newValue }
    }
    
    public var _parameters: [String: String]? {
        get { return self.parameters }
        set(newValue) { self.parameters = newValue }
    }
    
    public var setParameter: (key: String, value: String) {
        @available(*, unavailable)
        get {
            return (key: "", value: "")
        }
        set(newValue) {
            self.parameters?.updateValue(newValue.1, forKey: newValue.0)
        }
    }
}

public class LoyaltySDKSessionExpiredEventModel {
    private var sessionExpired: Bool
    
    public init() {
        self.sessionExpired = false
    }
    
    public var _sessionExpired: Bool {
        get { return self.sessionExpired }
        set(newValue) { self.sessionExpired = newValue }
    }
}

public class CouponEventModel {
    private var success: Bool
    
    public init() {
        self.success = true
    }
    
    public var _success: Bool {
        get { return self.success }
        set(newValue) { self.success = newValue }
    }
}