You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SessionMessagingKit/Sending & Receiving/MessageSender+TTL.swift

33 lines
1.1 KiB
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import GRDB
import SessionUtilitiesKit
extension MessageSender {
public static func getSpecifiedTTL(_ db: Database, message: Message, isSyncMessage: Bool) -> UInt64? {
let threadId: String = {
if let threadId = message.threadId {
return threadId
}
if let visibleMessage = message as? VisibleMessage, isSyncMessage, let syncTarget = visibleMessage.syncTarget {
return syncTarget
}
return message.recipient!
}()
guard
let disappearingMessagesConfiguration = try? DisappearingMessagesConfiguration.fetchOne(db, id: threadId),
disappearingMessagesConfiguration.isEnabled
else {
return nil
}
guard disappearingMessagesConfiguration.type == .disappearAfterSend || isSyncMessage else {
return nil
}
return UInt64(disappearingMessagesConfiguration.durationSeconds) * 1000
}
}