diff --git a/Discussion/Discussion/Data/Model/Data_CommentsResponse.swift b/Discussion/Discussion/Data/Model/Data_CommentsResponse.swift index 220ac5179..d9c91c68a 100644 --- a/Discussion/Discussion/Data/Model/Data_CommentsResponse.swift +++ b/Discussion/Discussion/Data/Model/Data_CommentsResponse.swift @@ -28,7 +28,7 @@ public extension DataLayer { // MARK: - Comments struct Comments: Codable { public let id: String - public let author: String + public let author: String? public let authorLabel: String? public let createdAt: String public let updatedAt: String @@ -75,7 +75,7 @@ public extension DataLayer { case users } - public init(id: String, author: String, authorLabel: String?, createdAt: String, updatedAt: String, rawBody: String, + public init(id: String, author: String?, authorLabel: String?, createdAt: String, updatedAt: String, rawBody: String, renderedBody: String, abuseFlagged: Bool, voted: Bool, voteCount: Int, editableFields: [String], canDelete: Bool, threadID: String, parentID: String?, endorsed: Bool, endorsedBy: String?, endorsedByLabel: String?, endorsedAt: String?, childCount: Int, children: [String], @@ -109,7 +109,7 @@ public extension DataLayer { public extension DataLayer.Comments { var domain: UserComment { UserComment( - authorName: author, + authorName: author ?? DiscussionLocalization.anonymous, authorAvatar: users?.userName?.profile?.image?.imageURLLarge ?? "", postDate: Date(iso8601: createdAt), postTitle: "", diff --git a/Discussion/Discussion/Data/Model/Data_CreatedComment.swift b/Discussion/Discussion/Data/Model/Data_CreatedComment.swift index f7810c456..b613e0cc9 100644 --- a/Discussion/Discussion/Data/Model/Data_CreatedComment.swift +++ b/Discussion/Discussion/Data/Model/Data_CreatedComment.swift @@ -11,7 +11,7 @@ import Core public extension DataLayer { struct CreatedComment: Codable { public let id: String - public let author: String + public let author: String? public let authorLabel: String? public let createdAt: String public let updatedAt: String @@ -60,7 +60,7 @@ public extension DataLayer { public extension DataLayer.CreatedComment { var domain: Post { - Post(authorName: author, + Post(authorName: author ?? DiscussionLocalization.anonymous, authorAvatar: "", postDate: Date(iso8601: createdAt), postTitle: "", diff --git a/Discussion/Discussion/Data/Model/Data_ThreadResponse.swift b/Discussion/Discussion/Data/Model/Data_ThreadResponse.swift index 9947454c9..53f79a257 100644 --- a/Discussion/Discussion/Data/Model/Data_ThreadResponse.swift +++ b/Discussion/Discussion/Data/Model/Data_ThreadResponse.swift @@ -31,7 +31,7 @@ public extension DataLayer { // MARK: - Thread struct ThreadList: Codable { public let id: String - public let author: String + public let author: String? public let authorLabel: String? public let createdAt: String public let updatedAt: String diff --git a/Discussion/Discussion/Domain/Model/ThreadList.swift b/Discussion/Discussion/Domain/Model/ThreadList.swift index 299912f07..5b54f057c 100644 --- a/Discussion/Discussion/Domain/Model/ThreadList.swift +++ b/Discussion/Discussion/Domain/Model/ThreadList.swift @@ -10,7 +10,7 @@ import Core public extension DataLayer.ThreadList { var domain: UserComment { - UserComment(authorName: author, + UserComment(authorName: author ?? DiscussionLocalization.anonymous, authorAvatar: users?.userName?.profile?.image?.imageURLLarge ?? "", postDate: Date(iso8601: createdAt), postTitle: title, diff --git a/Discussion/Discussion/Domain/Model/UserThread.swift b/Discussion/Discussion/Domain/Model/UserThread.swift index 548579901..9cc9dc6b8 100644 --- a/Discussion/Discussion/Domain/Model/UserThread.swift +++ b/Discussion/Discussion/Domain/Model/UserThread.swift @@ -86,7 +86,7 @@ public extension DataLayer.ThreadListsResponse { var domain: ThreadLists { let threadsReady = threads.map({ UserThread(id: $0.id, - author: $0.author, + author: $0.author ?? DiscussionLocalization.anonymous, authorLabel: $0.authorLabel ?? "", createdAt: Date(iso8601: $0.createdAt), updatedAt: Date(iso8601: $0.updatedAt), diff --git a/Discussion/Discussion/SwiftGen/Strings.swift b/Discussion/Discussion/SwiftGen/Strings.swift index 157ba91c2..d23922bea 100644 --- a/Discussion/Discussion/SwiftGen/Strings.swift +++ b/Discussion/Discussion/SwiftGen/Strings.swift @@ -10,6 +10,8 @@ import Foundation // swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length // swiftlint:disable nesting type_body_length type_name vertical_whitespace_opening_braces public enum DiscussionLocalization { + /// Anonymous + public static let anonymous = DiscussionLocalization.tr("Localizable", "ANONYMOUS", fallback: "Anonymous") /// Plural format key: "%#@comments@" public static func commentsCount(_ p1: Int) -> String { return DiscussionLocalization.tr("Localizable", "comments_count", p1, fallback: "Plural format key: \"%#@comments@\"") diff --git a/Discussion/Discussion/en.lproj/Localizable.strings b/Discussion/Discussion/en.lproj/Localizable.strings index c51027662..1e9b4413a 100644 --- a/Discussion/Discussion/en.lproj/Localizable.strings +++ b/Discussion/Discussion/en.lproj/Localizable.strings @@ -53,3 +53,5 @@ "SEARCH" = "Search"; "SEARCH.TITLE" = "Search results"; "SEARCH.EMPTY_DESCRIPTION" = "Start typing to find the topics"; + +"ANONYMOUS" = "Anonymous"; diff --git a/Discussion/Discussion/uk.lproj/Localizable.strings b/Discussion/Discussion/uk.lproj/Localizable.strings index 7de08e0d1..fbb1300dd 100644 --- a/Discussion/Discussion/uk.lproj/Localizable.strings +++ b/Discussion/Discussion/uk.lproj/Localizable.strings @@ -49,3 +49,5 @@ "POST_TYPE.QUESTION" = "питання"; "POST_TYPE.DISCUSSION" = "дискусія"; + +"ANONYMOUS" = "Анонім";