12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
- // SPDX-License-Identifier: GPL-3.0-or-later
- //
- import UIKit
- import NextcloudKit
- @objcMembers class NCUnifiedSearchController: NSObject {
- var account: TalkAccount
- var searchTerm: String
- var cursor: Int = 0
- let limit: Int = 10
- var showMore: Bool = false
- var entries: [NKSearchEntry] = []
- init(account: TalkAccount, searchTerm: String) {
- self.account = account
- self.searchTerm = searchTerm
- }
- func searchMessages(completionHandler: @escaping ([NKSearchEntry]?) -> Void) {
- NCAPIController.sharedInstance().setupNCCommunication(for: account)
- NextcloudKit.shared.searchProvider("talk-message",
- account: account.accountId,
- term: searchTerm,
- limit: limit,
- cursor: cursor,
- options: NKRequestOptions(),
- timeout: 30) { _, searchResult, _, _ in
- guard let searchResult = searchResult else {
- completionHandler(nil)
- return
- }
- self.entries.append(contentsOf: searchResult.entries)
- self.cursor = searchResult.cursor ?? 0
- self.showMore = searchResult.entries.count == self.limit
- completionHandler(self.entries)
- }
- }
- }
|