From 8778fa930914d23158777076673f6c4c51965ef7 Mon Sep 17 00:00:00 2001 From: Max von Webel Date: Sat, 9 Mar 2024 14:50:09 +0100 Subject: [PATCH] added moved information to Account model --- Packages/Models/Sources/Models/Account.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Packages/Models/Sources/Models/Account.swift b/Packages/Models/Sources/Models/Account.swift index b222f79a..7ac4c9c3 100644 --- a/Packages/Models/Sources/Models/Account.swift +++ b/Packages/Models/Sources/Models/Account.swift @@ -61,6 +61,7 @@ public final class Account: Codable, Identifiable, Hashable, Sendable, Equatable public let source: Source? public let bot: Bool public let discoverable: Bool? + public let moved: Account? public var haveAvatar: Bool { avatar.lastPathComponent != "missing.png" @@ -70,7 +71,7 @@ public final class Account: Codable, Identifiable, Hashable, Sendable, Equatable header.lastPathComponent != "missing.png" } - public init(id: String, username: String, displayName: String?, avatar: URL, header: URL, acct: String, note: HTMLString, createdAt: ServerDate, followersCount: Int, followingCount: Int, statusesCount: Int, lastStatusAt: String? = nil, fields: [Account.Field], locked: Bool, emojis: [Emoji], url: URL? = nil, source: Account.Source? = nil, bot: Bool, discoverable: Bool? = nil) { + public init(id: String, username: String, displayName: String?, avatar: URL, header: URL, acct: String, note: HTMLString, createdAt: ServerDate, followersCount: Int, followingCount: Int, statusesCount: Int, lastStatusAt: String? = nil, fields: [Account.Field], locked: Bool, emojis: [Emoji], url: URL? = nil, source: Account.Source? = nil, bot: Bool, discoverable: Bool? = nil, moved: Account? = nil) { self.id = id self.username = username self.displayName = displayName @@ -90,6 +91,7 @@ public final class Account: Codable, Identifiable, Hashable, Sendable, Equatable self.source = source self.bot = bot self.discoverable = discoverable + self.moved = moved if let displayName, !displayName.isEmpty { cachedDisplayName = .init(stringValue: displayName) @@ -118,6 +120,7 @@ public final class Account: Codable, Identifiable, Hashable, Sendable, Equatable case source case bot case discoverable + case moved } public init(from decoder: Decoder) throws { @@ -141,6 +144,8 @@ public final class Account: Codable, Identifiable, Hashable, Sendable, Equatable source = try container.decodeIfPresent(Account.Source.self, forKey: .source) bot = try container.decode(Bool.self, forKey: .bot) discoverable = try container.decodeIfPresent(Bool.self, forKey: .discoverable) + moved = try container.decodeIfPresent(Account.self, forKey: .moved) + if let displayName, !displayName.isEmpty { cachedDisplayName = .init(stringValue: displayName) } else {