mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
Fixes error fetching Friend Zone patrons due to unexpected nil name
This commit is contained in:
@@ -70,7 +70,7 @@ class UpdatePatronsOperation: ResultOperation<Void>
|
||||
do
|
||||
{
|
||||
let patrons = try result.get()
|
||||
let managedPatrons = patrons.map { ManagedPatron(patron: $0, context: self.context) }
|
||||
let managedPatrons = patrons.compactMap { ManagedPatron(patron: $0, context: self.context) }
|
||||
|
||||
let patronIDs = Set(managedPatrons.map { $0.identifier })
|
||||
let nonFriendZonePredicate = NSPredicate(format: "NOT (%K IN %@)", #keyPath(ManagedPatron.identifier), patronIDs)
|
||||
|
||||
@@ -19,11 +19,14 @@ public class ManagedPatron: NSManagedObject, Fetchable
|
||||
super.init(entity: entity, insertInto: context)
|
||||
}
|
||||
|
||||
public init(patron: Patron, context: NSManagedObjectContext)
|
||||
public init?(patron: Patron, context: NSManagedObjectContext)
|
||||
{
|
||||
// Only cache Patrons with non-nil names.
|
||||
guard let name = patron.name else { return nil }
|
||||
|
||||
super.init(entity: ManagedPatron.entity(), insertInto: context)
|
||||
|
||||
self.name = patron.name
|
||||
self.name = name
|
||||
self.identifier = patron.identifier
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ extension PatreonAPI
|
||||
{
|
||||
struct Attributes: Decodable
|
||||
{
|
||||
var full_name: String
|
||||
var full_name: String?
|
||||
var patron_status: String?
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ extension Patron
|
||||
|
||||
public class Patron
|
||||
{
|
||||
public var name: String
|
||||
public var name: String?
|
||||
public var identifier: String
|
||||
|
||||
public var status: Status
|
||||
|
||||
Reference in New Issue
Block a user