From b5d82339556b4e6947f538a7aaa32dcaaeb59ea4 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 2 Dec 2017 13:20:27 -0800 Subject: [PATCH] =?UTF-8?q?Fix=20bug=20saving=20related=20objects=20for=20?= =?UTF-8?q?articles=20=E2=80=94=C2=A0authors,=20tags,=20and=20attachments.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/Article+Database.swift | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Frameworks/Database/Extensions/Article+Database.swift b/Frameworks/Database/Extensions/Article+Database.swift index ef977b975..61367b0d8 100644 --- a/Frameworks/Database/Extensions/Article+Database.swift +++ b/Frameworks/Database/Extensions/Article+Database.swift @@ -114,6 +114,28 @@ extension Article: DatabaseObject { return articleID } } + + public func relatedObjectsWithName(_ name: String) -> [DatabaseObject]? { + + switch name { + case RelationshipName.authors: + return databaseObjectArray(with: authors) + case RelationshipName.tags: + return databaseObjectArray(with: tags) + case RelationshipName.attachments: + return databaseObjectArray(with: attachments) + default: + return nil + } + } + + private func databaseObjectArray(with objects: Set?) -> [DatabaseObject]? { + + guard let objects = objects else { + return nil + } + return Array(objects) + } } extension Set where Element == Article {