//
//  MoECapacitorConstants.swift
//  Plugin
//
//  Created by Rakshitha on 12/01/22.

import Foundation

struct MoECapacitorConstants {
    static let pluginType = "capacitor"
    
    struct CallbackNames {
        static let kPushTokenGenerated          = "pushTokenGenerated"
        static let kPushClicked                 = "pushClicked"
        static let kInAppShown                  = "inAppCampaignShown"
        static let kInAppClicked                = "inAppCampaignClicked"
        static let kInAppClickedCustomAction    = "inAppCampaignCustomAction"
        static let kInAppDismissed              = "inAppCampaignDismissed"
        static let kInAppSelfHandled            = "inAppCampaignSelfHandled"
    }
    
    struct CallbackPayloadKeys {
        static let kPushToken      = "pushToken"
        static let kPushCampaign   = "pushCampaign"
        static let kCampaignData   = "campaignData"
        static let kNavigation     = "navigation"
        static let kSelfHandled    = "selfHandled"
        static let customAction    = "customAction"
        static let navigationUrl   = "navigationUrl"
        static let value           = "value"
        static let isDefaultAction = "isDefaultAction"
    }
    
    struct PayloadKeys {
        static let appId = "appId"
        static let alias = "alias"
        static let eventName = "eventName"
        static let eventAttributes = "eventAttributes"
        static let generalAttributes = "generalAttributes"
        static let dateTimeAttributes = "dateTimeAttributes"
        static let locationAttributes = "locationAttributes"
        static let isNonInteractive = "isNonInteractive"
        static let uniqueId = "uniqueId"
        static let userName = "userName"
        static let firstName = "firstName"
        static let lastName = "lastName"
        static let emailId = "emailId"
        static let mobileNumber = "mobileNumber"
        static let gender = "gender"
        static let birthdate = "birthdate"
        static let location = "location"
        static let name = "name"
        static let value = "value"
        static let latitude = "latitude"
        static let longitude = "longitude"
        static let appStatus = "appStatus"
        static let shouldOptOut = "shouldOptOut"
        static let actionType = "actionType"
        static let inAppCustomAction = "custom"
        static let inAppNavigationAction = "navigation"
        static let cid = "cid"
        static let formattedCampaignId = "formattedCampaignId"
        static let attributes = "attributes"
        static let campaignContext = "campaignContext"
        static let position = "position"
        
    }
}
