jsoncreator_app/JSONCreator_iOS/JSONCreator/MF/ActionRegisterPushNotificationModel.swift
Matt Bruce f1bed66dc9 added for project testing
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
2024-10-02 09:37:08 -05:00

41 lines
1.7 KiB
Swift

//
// ActionRegisterPushNotificationModel.swift
// MobileFirstFramework
//
// Created by Ryan on 3/17/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import UIKit
import MVMCore
public struct ActionRegisterPushNotificationModel: ActionModelProtocol {
public static var identifier: String = "registerPushNotification"
public var actionType: String? = ActionRegisterPushNotificationModel.identifier
public var extraParameters: JSONValueDictionary?
public var analyticsData: JSONValueDictionary?
public var completionAction: ActionModelProtocol?
public enum CodingKeys: String, CodingKey {
case actionType
case extraParameters
case analyticsData
case completionAction
}
public init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
extraParameters = try typeContainer.decodeIfPresent(JSONValueDictionary.self, forKey: .extraParameters)
analyticsData = try typeContainer.decodeIfPresent(JSONValueDictionary.self, forKey: .analyticsData)
completionAction = try typeContainer.decodeModelIfPresent(codingKey: .completionAction)
}
public func encode(to encoder: Encoder) throws {
var encoderContainer = encoder.container(keyedBy: CodingKeys.self)
try encoderContainer.encodeIfPresent(actionType, forKey: .actionType)
try encoderContainer.encodeIfPresent(extraParameters, forKey: .extraParameters)
try encoderContainer.encodeIfPresent(analyticsData, forKey: .analyticsData)
try encoderContainer.encodeModelIfPresent(completionAction, forKey: .completionAction)
}
}