Skip to content

Commit 3490d88

Browse files
committed
Added capabilities
1 parent a20c4c8 commit 3490d88

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

Sources/MultiUser/Model/Capabilities.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public struct Capabilities: Codable {
1515
public init(from decoder: Decoder) throws {
1616
let values = try decoder.container(keyedBy: CodingKeys.self)
1717
self.nativeLanguage = try values.decodeIfPresent(String.self, forKey: .nativeLanguage)
18-
self.languages = try values.decodeIfPresent([String].self, forKey: .languages)
18+
self.languages = try values.decodeIfPresent([String].self, forKey: .languages) ?? [String]()
1919
}
2020

2121
public func encode(to encoder: Encoder) throws {

Sources/MultiUser/Model/User.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)