From 30cb37cda5e347bca8634c8222d90ef136a3b833 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Tue, 19 Dec 2017 14:20:32 +0100 Subject: [PATCH] Implement saved_searches/list API --- doc/api.md | 7 ++++++- include/api.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/doc/api.md b/doc/api.md index d756e81a40..3a2740764a 100644 --- a/doc/api.md +++ b/doc/api.md @@ -615,6 +615,12 @@ This is an alias for `search`. --- +### saved_searches/list (*; AUTH) + +This call does not have any parameter. + +--- + ### users/search (*) #### Parameters @@ -1234,7 +1240,6 @@ The following API calls from the Twitter API are not implemented in either Frien * lists/subscriptions * lists/members/destroy_all * lists/ownerships -* saved_searches/list * saved_searches/show/:id * saved_searches/create * saved_searches/destroy/:id diff --git a/include/api.php b/include/api.php index a7853ed32b..659f23b58c 100644 --- a/include/api.php +++ b/include/api.php @@ -5490,6 +5490,36 @@ function api_friendica_profile_show($type) } api_register_func('api/friendica/profile/show', 'api_friendica_profile_show', true, API_METHOD_GET); +/** + * Returns a list of saved searches. + * + * @see https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-saved_searches-list + * + * @param string $type Return format: json or xml + * + * @return string|array + * @throws UnauthorizedException + */ +function api_saved_searches_list($type) +{ + $terms = dba::select('search', array('id', 'term'), array('uid' => local_user())); + + $result = array(); + while ($term = $terms->fetch()) { + $result[] = array( + 'name' => $term['term'], + 'query' => $term['term'], + 'id_str' => $term['id'], + 'id' => intval($term['id']) + ); + } + + return api_format_data("terms", $type, array('terms' => $result)); +} + +/// @TODO move to top of file or somwhere better +api_register_func('api/saved_searches/list', 'api_saved_searches_list', true); + /* @TODO Maybe open to implement? To.Do: