//
//  UserInfoAPIModel.swift


import Foundation

struct UserInfoAPIModel : Codable{
    let user : User?
    let token : String?
    
    enum CodingKeys : String, CodingKey{
        case user = "user"
        case token = "token"
    }
    
    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        user = try values.decodeIfPresent(User.self, forKey: .user)
        token = try values.decodeIfPresent(String.self, forKey: .token)
    }
}

struct User : Codable{
    
    let user_id : Int?
    let first_name : String?
    let last_name : String?
    let full_name : String?
    let phone : String?
    let country_code : String?
    let profile_pic : String?
    let signup_type : String?
    let social_id : String?
    let is_active : Bool?
    let device_unique_id : String?
    let device_token : String?
    let auth_key : String?
    let device_type : String?
    let device_name : String?
    let app_version : String?
    let is_profile_completed : Bool?
    
    enum CodingKeys: String, CodingKey {
        case user_id = "user_id"
        case first_name = "first_name"
        case last_name = "last_name"
        case full_name = "full_name"
        case phone = "phone"
        case country_code = "country_code"
        case profile_pic = "profile_pic"
        case signup_type = "signup_type"
        case social_id = "social_id"
        case is_active = "is_active"
        case device_unique_id = "device_unique_id"
        case device_token = "device_token"
        case auth_key = "auth_key"
        case device_type = "device_type"
        case device_name = "device_name"
        case app_version = "app_version"
        case is_profile_completed = "is_profile_completed"
    }
    
    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        
        user_id = try values.decodeIfPresent(Int.self, forKey: .user_id)
        first_name = try values.decodeIfPresent(String.self, forKey: .first_name)
        last_name = try values.decodeIfPresent(String.self, forKey: .last_name)
        full_name = try values.decodeIfPresent(String.self, forKey: .full_name)
        phone = try values.decodeIfPresent(String.self, forKey: .phone)
        country_code = try values.decodeIfPresent(String.self, forKey: .country_code)
        profile_pic = try values.decodeIfPresent(String.self, forKey: .profile_pic)
        signup_type = try values.decodeIfPresent(String.self, forKey: .signup_type)
        social_id = try values.decodeIfPresent(String.self, forKey: .social_id)
        is_active = try values.decodeIfPresent(Bool.self, forKey: .is_active)
        device_unique_id = try values.decodeIfPresent(String.self, forKey: .device_unique_id)
        device_token = try values.decodeIfPresent(String.self, forKey: .device_token)
        auth_key = try values.decodeIfPresent(String.self, forKey: .auth_key)
        device_type = try values.decodeIfPresent(String.self, forKey: .device_type)
        device_name = try values.decodeIfPresent(String.self, forKey: .device_name)
        app_version = try values.decodeIfPresent(String.self, forKey: .app_version)
        is_profile_completed = try values.decodeIfPresent(Bool.self, forKey: .is_profile_completed)
        
    }
}
