//
//  SDKDiagnosticMapper.swift
//  Plugin
//
//  Created by Francisco Guerrero Escamilla on 10/03/26.
//  Copyright © 2026 Max Lynch. All rights reserved.
//

import Foundation
import RookSDK

struct SDKDiagnosticMapper {

  // MARK:  Properties

  private let dateHelper: DateHelper = DateHelper()

  // MARK:  Implementation

  func map(_ state: SDKState) -> [String: Any?] {
    var dictionary: [String : Any?] = [:]
    dictionary.updateValue(state.isConfigured, forKey: "isConfigured")
    dictionary.updateValue(state.userIdentified, forKey: "userIdentified")
    dictionary.updateValue(state.permissions, forKey: "permissions")
    var backgroundDictionary: [String: Any?] = [:]
    backgroundDictionary.updateValue(state.backgroundSync.enabled, forKey: "enabled")
    backgroundDictionary.updateValue(state.backgroundSync.lastSync, forKey: "lastSync")
    dictionary.updateValue(backgroundDictionary, forKey: "backgroundSync")
    var manualStateDictionary: [String: Any?] = [:]
    manualStateDictionary.updateValue(state.manualSync.enabled, forKey: "enabled")
    manualStateDictionary.updateValue(state.manualSync.lastSync, forKey: "lastSync")
    dictionary.updateValue(manualStateDictionary, forKey: "manualSync")
    return dictionary
  }
}
