unsend request handler
This commit is contained in:
parent
dff99cf0fc
commit
83252650b1
|
@ -14,6 +14,7 @@ extension MessageReceiver {
|
|||
case let message as DataExtractionNotification: handleDataExtractionNotification(message, using: transaction)
|
||||
case let message as ExpirationTimerUpdate: handleExpirationTimerUpdate(message, using: transaction)
|
||||
case let message as ConfigurationMessage: handleConfigurationMessage(message, using: transaction)
|
||||
case let message as UnsendRequest: handleUnsendRequest(message, using: transaction)
|
||||
case let message as VisibleMessage: try handleVisibleMessage(message, associatedWithProto: proto, openGroupID: openGroupID, isBackgroundPoll: isBackgroundPoll, using: transaction)
|
||||
default: fatalError()
|
||||
}
|
||||
|
@ -218,6 +219,19 @@ extension MessageReceiver {
|
|||
|
||||
|
||||
|
||||
// MARK: - Unsend Requests
|
||||
|
||||
public static func handleUnsendRequest(_ message: UnsendRequest, using transaction: Any) {
|
||||
guard message.sender == message.author else { return }
|
||||
let userPublicKey = getUserHexEncodedPublicKey()
|
||||
let transaction = transaction as! YapDatabaseReadWriteTransaction
|
||||
if let author = message.author, let timestamp = message.timestamp,
|
||||
let messageToDelete = userPublicKey == message.sender ? TSOutgoingMessage.find(withTimestamp: timestamp) : TSIncomingMessage.find(withAuthorId: author, timestamp: timestamp, transaction: transaction) {
|
||||
messageToDelete.remove(with: transaction)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MARK: - Visible Messages
|
||||
|
||||
@discardableResult
|
||||
|
|
Loading…
Reference in New Issue