@@ -34,12 +34,13 @@ public struct User: Codable {
34
34
self . firstname = try values. decodeIfPresent ( String . self, forKey: . firstname)
35
35
self . lastname = try values. decodeIfPresent ( String . self, forKey: . lastname)
36
36
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] ( )
41
42
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 ] ( )
43
44
}
44
45
45
46
public func encode( to encoder: Encoder ) throws {
@@ -52,6 +53,7 @@ public struct User: Codable {
52
53
try container. encodeIfPresent ( self . emails, forKey: . emails)
53
54
try container. encodeIfPresent ( self . phones, forKey: . phones)
54
55
try container. encodeIfPresent ( self . addresses, forKey: . addresses)
56
+ try container. encodeIfPresent ( self . capabilities, forKey: . capabilities)
55
57
try container. encodeIfPresent ( self . attributes, forKey: . attributes)
56
58
try container. encodeIfPresent ( self . icon, forKey: . icon)
57
59
try container. encodeIfPresent ( self . data, forKey: . data)
@@ -64,6 +66,6 @@ public struct User: Codable {
64
66
}
65
67
66
68
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
68
70
}
69
71
}
0 commit comments