27 lines
871 B
Swift
27 lines
871 B
Swift
//
|
|
// Copyright 2023 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class ProfileWhitelistMerger: RecipientMergeObserver {
|
|
private let profileManager: ProfileManager
|
|
|
|
init(profileManager: ProfileManager) {
|
|
self.profileManager = profileManager
|
|
}
|
|
|
|
func willBreakAssociation(for recipient: SignalRecipient, mightReplaceNonnilPhoneNumber: Bool, tx: DBWriteTransaction) {
|
|
let tx = SDSDB.shimOnlyBridge(tx)
|
|
profileManager.normalizeRecipientInProfileWhitelist(recipient, tx: tx)
|
|
}
|
|
|
|
func didLearnAssociation(mergedRecipient: MergedRecipient, tx: DBWriteTransaction) {
|
|
if mergedRecipient.isLocalRecipient {
|
|
return
|
|
}
|
|
let tx = SDSDB.shimOnlyBridge(tx)
|
|
profileManager.normalizeRecipientInProfileWhitelist(mergedRecipient.newRecipient, tx: tx)
|
|
}
|
|
}
|