Skip to content

Commit c0ca1cc

Browse files
feat: Replace SnoozeAction with SnoozeUUID
1 parent d156efc commit c0ca1cc

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

MailCore/Cache/MailboxManager/MailboxManager+Thread.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ public extension MailboxManager {
305305
let updatedThreads = await updateMessages(with: messagesDelta.deletedShortUids, in: folder,
306306
messageUid: \.self) { message, _ in
307307
message.snoozeState = nil
308-
message.snoozeAction = nil
308+
message.snoozeUUID = nil
309309
message.snoozeEndDate = nil
310310
}
311311

@@ -324,7 +324,7 @@ public extension MailboxManager {
324324

325325
if message.snoozeState == .unsnoozed && message.seen {
326326
message.snoozeState = nil
327-
message.snoozeAction = nil
327+
message.snoozeUUID = nil
328328
message.snoozeEndDate = nil
329329
}
330330
}

MailCore/Models/Message.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public final class Message: Object, Decodable, ObjectKeyIdentifiable {
136136
@Persisted public var swissTransferAttachment: SwissTransferAttachment?
137137

138138
@Persisted public var snoozeState: SnoozeState?
139-
@Persisted public var snoozeAction: String?
139+
@Persisted public var snoozeUUID: String?
140140
@Persisted public var snoozeEndDate: Date?
141141

142142
public var shortUid: Int? {
@@ -344,8 +344,12 @@ public final class Message: Object, Decodable, ObjectKeyIdentifiable {
344344
flagged = try values.decode(Bool.self, forKey: .flagged)
345345
hasUnsubscribeLink = try values.decodeIfPresent(Bool.self, forKey: .hasUnsubscribeLink)
346346
bimi = try values.decodeIfPresent(Bimi.self, forKey: .bimi)
347+
347348
snoozeState = try? values.decodeIfPresent(SnoozeState.self, forKey: .snoozeState)
348-
snoozeAction = try values.decodeIfPresent(String.self, forKey: .snoozeAction)
349+
if let snoozeAction = try values.decodeIfPresent(String.self, forKey: .snoozeAction) {
350+
let snoozeUUIDParser = SnoozeUUIDParser()
351+
snoozeUUID = snoozeUUIDParser.parse(resource: snoozeAction)
352+
}
349353
snoozeEndDate = try values.decodeIfPresent(Date.self, forKey: .snoozeEndDate)
350354
}
351355

@@ -383,7 +387,7 @@ public final class Message: Object, Decodable, ObjectKeyIdentifiable {
383387
hasUnsubscribeLink: Bool? = nil,
384388
bimi: Bimi? = nil,
385389
snoozeState: SnoozeState? = nil,
386-
snoozeAction: String? = nil,
390+
snoozeUUID: String? = nil,
387391
snoozeEndDate: Date? = nil
388392
) {
389393
self.init()
@@ -422,7 +426,7 @@ public final class Message: Object, Decodable, ObjectKeyIdentifiable {
422426
self.bimi = bimi
423427
fullyDownloaded = true
424428
self.snoozeState = snoozeState
425-
self.snoozeAction = snoozeAction
429+
self.snoozeUUID = snoozeUUID
426430
self.snoozeEndDate = snoozeEndDate
427431
}
428432

@@ -443,7 +447,7 @@ public final class Message: Object, Decodable, ObjectKeyIdentifiable {
443447
forwarded: forwarded,
444448
bimi: bimi,
445449
snoozeState: snoozeState,
446-
snoozeAction: snoozeAction,
450+
snoozeAction: snoozeUUID,
447451
snoozeEndDate: snoozeEndDate
448452
)
449453
thread.messageIds = linkedUids

MailCore/Models/Thread.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ public class Thread: Object, Decodable, Identifiable {
179179
let lastSnoozedMessage = messagesAndDuplicates.last { $0.snoozeState != nil }
180180

181181
snoozeState = lastSnoozedMessage?.snoozeState
182-
snoozeAction = lastSnoozedMessage?.snoozeAction
182+
snoozeAction = lastSnoozedMessage?.snoozeUUID
183183
snoozeEndDate = lastSnoozedMessage?.snoozeEndDate
184184
}
185185

0 commit comments

Comments
 (0)