Fixes parsing Patreon responses with null patron_status

This commit is contained in:
Riley Testut
2019-09-24 14:11:49 -07:00
parent caac63c93b
commit 14b2a10b4e

View File

@@ -15,7 +15,7 @@ extension PatreonAPI
struct Attributes: Decodable struct Attributes: Decodable
{ {
var full_name: String var full_name: String
var patron_status: String var patron_status: String?
} }
struct Relationships: Decodable struct Relationships: Decodable
@@ -48,6 +48,7 @@ extension Patron
case active = "active_patron" case active = "active_patron"
case declined = "declined_patron" case declined = "declined_patron"
case former = "former_patron" case former = "former_patron"
case unknown = "unknown"
} }
} }
@@ -64,6 +65,14 @@ class Patron
{ {
self.name = response.attributes.full_name self.name = response.attributes.full_name
self.identifier = response.id self.identifier = response.id
self.status = Status(rawValue: response.attributes.patron_status) ?? .former
if let status = response.attributes.patron_status
{
self.status = Status(rawValue: status) ?? .unknown
}
else
{
self.status = .unknown
}
} }
} }