//
//  IntrestTopicDM.swift
//  WOKA
//
//  Created by MacBook Pro on 07/05/24.
//

import Foundation

// MARK: - IntrestTopicDM
struct IntrestTopicDM: Codable {
    let result: [Result]?
    let totalRecords: Int?

    enum CodingKeys: String, CodingKey {
        case result
        case totalRecords = "total_records"
    }
    
    // MARK: - Result
    struct Result: Codable {
        let id: Int?
        let topicName: String?
        var isSelected : Bool? = false
        enum CodingKeys: String, CodingKey {
            case id
            case topicName = "topic_name"
            case isSelected
        }
        
        init(from decoder: Decoder) throws {
            let container = try decoder.container(keyedBy: CodingKeys.self)
            self.id = try container.decodeIfPresent(Int.self, forKey: .id)
            self.topicName = try container.decodeIfPresent(String.self, forKey: .topicName)
            self.isSelected = (try? container.decodeIfPresent(Bool.self, forKey: .isSelected)) ?? false // Defaulting to false if nil
        }
    }
}
