func deleteContacts()

in Encryption/ViewModels/ViewModel.swift [135:155]


    func deleteContacts(_ contacts: [Contact], completionHandler: @escaping (Result<Void, Error>) -> Void) {
        let recordIDs = contacts.map { $0.associatedRecord.recordID }
        guard !recordIDs.isEmpty else {
            debugPrint("Attempted to delete empty array of Contacts. Skipping.")
            return
        }

        let deleteOperation = CKModifyRecordsOperation(recordIDsToDelete: recordIDs)

        deleteOperation.modifyRecordsResultBlock = { [weak self] result in
            DispatchQueue.main.async {
                if case .failure(let error) = result {
                    self?.handleError(error)
                }

                completionHandler(result)
            }
        }

        database.add(deleteOperation)
    }