package net.lacolaco.smileessence.twitter.task import net.lacolaco.smileessence.data.Account import net.lacolaco.smileessence.entity.SavedSearch import net.lacolaco.smileessence.entity.Tweet import net.lacolaco.smileessence.util.BackgroundTask import twitter4j.Query import twitter4j.TwitterException class Searches { class CreateSavedSearchTask(private val account: Account, private val query: String) : BackgroundTask() { override fun doInBackground(): SavedSearch { return SavedSearch.fromTwitter(account.twitter.savedSearches().createSavedSearch(query)) } } class DestroySavedSearchTask(private val account: Account, private val id: Long) : BackgroundTask() { override fun doInBackground() { account.twitter.savedSearches().destroySavedSearch(id) } } class GetAllSavedSearchesTask(private val account: Account) : BackgroundTask, Void>() { override fun doInBackground(): List { return account.twitter.savedSearches().savedSearches.map { SavedSearch.fromTwitter(it) } } } // TODO: List is not good here class SearchTask(private val account: Account, private val query: Query) : BackgroundTask, Void>() { override fun doInBackground(): List { return Tweet.fromTwitter(account.twitter.search(query).tweets, account.userId) } } }