import Foundation

struct API_notification_settings : Codable {
    
    let e_liked : IntString?
    let e_shared : IntString?
    let e_wondered : Int?
    let e_commented : IntString?
    let e_followed : Int?
    let e_accepted : Int?
    let e_mentioned : Int?
    let e_joined_group : Int?
    let e_liked_page : Int?
    let e_visited : Int?
    let e_profile_wall_post : Int?
    let e_memory : Int?

    enum CodingKeys: String, CodingKey {

        case e_liked = "e_liked"
        case e_shared = "e_shared"
        case e_wondered = "e_wondered"
        case e_commented = "e_commented"
        case e_followed = "e_followed"
        case e_accepted = "e_accepted"
        case e_mentioned = "e_mentioned"
        case e_joined_group = "e_joined_group"
        case e_liked_page = "e_liked_page"
        case e_visited = "e_visited"
        case e_profile_wall_post = "e_profile_wall_post"
        case e_memory = "e_memory"
    }

    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        e_liked = try values.decodeIfPresent(IntString.self, forKey: .e_liked)
        e_shared = try values.decodeIfPresent(IntString.self, forKey: .e_shared)
        e_wondered = try values.decodeIfPresent(Int.self, forKey: .e_wondered)
        e_commented = try values.decodeIfPresent(IntString.self, forKey: .e_commented)
        e_followed = try values.decodeIfPresent(Int.self, forKey: .e_followed)
        e_accepted = try values.decodeIfPresent(Int.self, forKey: .e_accepted)
        e_mentioned = try values.decodeIfPresent(Int.self, forKey: .e_mentioned)
        e_joined_group = try values.decodeIfPresent(Int.self, forKey: .e_joined_group)
        e_liked_page = try values.decodeIfPresent(Int.self, forKey: .e_liked_page)
        e_visited = try values.decodeIfPresent(Int.self, forKey: .e_visited)
        e_profile_wall_post = try values.decodeIfPresent(Int.self, forKey: .e_profile_wall_post)
        e_memory = try values.decodeIfPresent(Int.self, forKey: .e_memory)
    }

}
