//
//  TraktUser.swift
//  TraktKit
//
//  Created by Maximilian Litteral on 4/13/16.
//  Copyright © 2016 Maximilian Litteral. All rights reserved.
//

import Foundation

public struct User: Codable {

    // Min
    public let username: String?
    public let isPrivate: Bool
    public let name: String?
    public let isVIP: Bool?
    public let isVIPEP: Bool?
    public let ids: IDs
    
    // Full
    public let joinedAt: Date?
    public let location: String?
    public let about: String?
    public let gender: String?
    public let age: Int?
    public let images: Images?
    
    // VIP
    public let vipOG: Bool?
    public let vipYears: Int?
    
    enum CodingKeys: String, CodingKey {
        case username
        case isPrivate = "private"
        case name
        case isVIP = "vip"
        case isVIPEP = "vip_ep"
        case ids
        case joinedAt = "joined_at"
        case location
        case about
        case gender
        case age
        case images
        case vipOG = "vip_og"
        case vipYears = "vip_years"
    }

    public struct IDs: Codable {
        public let slug: String
    }

    public struct Images: Codable {
        public let avatar: Image
    }

    public struct Image: Codable {
        public let full: String
    }
}

//
//  TraktUser.swift
//  TraktKit
//
//  Created by Maximilian Litteral on 4/13/16.
//  Copyright © 2016 Maximilian Litteral. All rights reserved.
//

import Foundation

public struct User: Codable {
    
    // Min
    public let username: String?
    public let isPrivate: Bool
    public let name: String?
    public let isVIP: Bool?
    public let isVIPEP: Bool?
    
    // Full
    public let joinedAt: Date?
    public let location: String?
    public let about: String?
    public let gender: String?
    public let age: Int?
    
    // VIP
    public let vipOG: Bool?
    public let vipYears: Int?
    
    enum CodingKeys: String, CodingKey {
        case username
        case isPrivate = "private"
        case name
        case isVIP = "vip"
        case isVIPEP = "vip_ep"
        case joinedAt = "joined_at"
        case location
        case about
        case gender
        case age
        case vipOG = "vip_og"
        case vipYears = "vip_years"
    }
}

--- 
+++ 
@@ -9,13 +9,14 @@
 import Foundation
 
 public struct User: Codable {
-    
+
     // Min
     public let username: String?
     public let isPrivate: Bool
     public let name: String?
     public let isVIP: Bool?
     public let isVIPEP: Bool?
+    public let ids: IDs
     
     // Full
     public let joinedAt: Date?
@@ -23,6 +24,7 @@
     public let about: String?
     public let gender: String?
     public let age: Int?
+    public let images: Images?
     
     // VIP
     public let vipOG: Bool?
@@ -34,12 +36,26 @@
         case name
         case isVIP = "vip"
         case isVIPEP = "vip_ep"
+        case ids
         case joinedAt = "joined_at"
         case location
         case about
         case gender
         case age
+        case images
         case vipOG = "vip_og"
         case vipYears = "vip_years"
     }
+
+    public struct IDs: Codable {
+        public let slug: String
+    }
+
+    public struct Images: Codable {
+        public let avatar: Image
+    }
+
+    public struct Image: Codable {
+        public let full: String
+    }
 }
Add slug and avatar to user
