@@ -34,12 +34,13 @@ public struct User: Codable {
3434 self . firstname = try values. decodeIfPresent ( String . self, forKey: . firstname)
3535 self . lastname = try values. decodeIfPresent ( String . self, forKey: . lastname)
3636 self . birthday = try values. decodeIfPresent ( Date . self, forKey: . birthday)
37- self . emails = try values. decodeIfPresent ( [ EMail ] . self, forKey: . emails)
38- self . phones = try values. decodeIfPresent ( [ Phone ] . self, forKey: . phones)
39- self . addresses = try values. decodeIfPresent ( [ Address ] . self, forKey: . addresses)
40- self . attributes = try values. decodeIfPresent ( [ String : String ] . self, forKey: . attributes)
37+ self . emails = try values. decodeIfPresent ( [ EMail ] . self, forKey: . emails) ?? [ EMail] ( )
38+ self . phones = try values. decodeIfPresent ( [ Phone ] . self, forKey: . phones) ?? [ Phone] ( )
39+ self . addresses = try values. decodeIfPresent ( [ Address ] . self, forKey: . addresses) ?? [ Address] ( )
40+ self . capabilities = try values. decodeIfPresent ( Capabilities . self, forKey: . capabilities)
41+ self . attributes = try values. decodeIfPresent ( [ String : String ] . self, forKey: . attributes) ?? [ String: String] ( )
4142 self . icon = try values. decodeIfPresent ( Data . self, forKey: . icon)
42- self . data = try values. decodeIfPresent ( [ Data ] . self, forKey: . data)
43+ self . data = try values. decodeIfPresent ( [ Data ] . self, forKey: . data) ?? [ Data ] ( )
4344 }
4445
4546 public func encode( to encoder: Encoder ) throws {
@@ -52,6 +53,7 @@ public struct User: Codable {
5253 try container. encodeIfPresent ( self . emails, forKey: . emails)
5354 try container. encodeIfPresent ( self . phones, forKey: . phones)
5455 try container. encodeIfPresent ( self . addresses, forKey: . addresses)
56+ try container. encodeIfPresent ( self . capabilities, forKey: . capabilities)
5557 try container. encodeIfPresent ( self . attributes, forKey: . attributes)
5658 try container. encodeIfPresent ( self . icon, forKey: . icon)
5759 try container. encodeIfPresent ( self . data, forKey: . data)
@@ -64,6 +66,6 @@ public struct User: Codable {
6466 }
6567
6668 private enum CodingKeys : String , CodingKey {
67- case uuid, username, firstname, lastname, birthday, emails, phones, addresses, attributes, icon, data
69+ case uuid, username, firstname, lastname, birthday, emails, phones, addresses, capabilities , attributes, icon, data
6870 }
6971}
0 commit comments