Merge pull request #10987 from annando/api4

API: moved classes / unified user array creation
This commit is contained in:
Hypolite Petovan 2021-11-19 06:13:52 -05:00 committed by GitHub
commit 0b6e0566d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 433 additions and 925 deletions

View file

@ -24,7 +24,6 @@ namespace Friendica\Module\Api\Friendica\Profile;
use Friendica\Profile\ProfileField\Collection\ProfileFields;
use Friendica\Content\Text\BBCode;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Profile;
use Friendica\Module\BaseApi;
use Friendica\Network\HTTPException;
@ -55,13 +54,10 @@ class Show extends BaseApi
$profiles[] = $profile;
}
// return settings, authenticated user and profiles data
$self = Contact::selectFirst(['nurl'], ['uid' => $uid, 'self' => true]);
$result = [
'multi_profiles' => false,
'global_dir' => $directory,
'friendica_owner' => self::getUser($self['nurl']),
'friendica_owner' => DI::twitterUser()->createFromUserId($uid),
'profiles' => $profiles
];

View file

@ -48,7 +48,7 @@ class RateLimitStatus extends BaseApi
'reset_time_in_seconds' => strtotime('now + 1 hour'),
'remaining_hits' => '150',
'hourly_limit' => '150',
'reset_time' => api_date(DateTimeFormat::utc('now + 1 hour', DateTimeFormat::ATOM)),
'reset_time' => DateTimeFormat::utc('now + 1 hour', DateTimeFormat::API),
];
}

View file

@ -19,10 +19,11 @@
*
*/
namespace Friendica\Module\Api\Twitter;
namespace Friendica\Module\Api\Twitter\Followers;
use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
/**
* @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers-ids
@ -47,6 +48,8 @@ class FollowersIds extends ContactEndpoint
'default' => 1,
]]);
// @todo Use Model\Contact\Relation::listFollowers($cid, $condition, $count);
System::jsonExit(self::ids(
[Contact::FOLLOWER, Contact::FRIEND],
self::getUid($contact_id, $screen_name),

View file

@ -19,10 +19,11 @@
*
*/
namespace Friendica\Module\Api\Twitter;
namespace Friendica\Module\Api\Twitter\Followers;
use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
/**
* @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers-list
@ -49,6 +50,7 @@ class FollowersList extends ContactEndpoint
'default' => 1,
]]);
// @todo Use Model\Contact\Relation::listFollowers($cid, $condition, $count);
System::jsonExit(self::list(
[Contact::FOLLOWER, Contact::FRIEND],

View file

@ -19,15 +19,16 @@
*
*/
namespace Friendica\Module\Api\Twitter;
namespace Friendica\Module\Api\Twitter\Friends;
use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
/**
* @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-ids
*/
class FriendsIds extends ContactEndpoint
class Ids extends ContactEndpoint
{
public function rawContent()
{
@ -47,6 +48,8 @@ class FriendsIds extends ContactEndpoint
'default' => 1,
]]);
// @todo Use Model\Contact\Relation::listFollows($cid, $condition, $count);
System::jsonExit(self::ids(
[Contact::SHARING, Contact::FRIEND],
self::getUid($contact_id, $screen_name),

View file

@ -19,15 +19,16 @@
*
*/
namespace Friendica\Module\Api\Twitter;
namespace Friendica\Module\Api\Twitter\Friends;
use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
/**
* @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-list
*/
class FriendsList extends ContactEndpoint
class Lists extends ContactEndpoint
{
public function rawContent()
{
@ -49,6 +50,8 @@ class FriendsList extends ContactEndpoint
'default' => 1,
]]);
// @todo Use Model\Contact\Relation::listFollows($cid, $condition, $count);
System::jsonExit(self::list(
[Contact::SHARING, Contact::FRIEND],
self::getUid($contact_id, $screen_name),

View file

@ -25,16 +25,13 @@ use Friendica\BaseModule;
use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Post;
use Friendica\Network\HTTPException;
use Friendica\Security\BasicAuth;
use Friendica\Security\OAuth;
use Friendica\Util\Arrays;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\HTTPInputData;
use Friendica\Util\XML;
require_once __DIR__ . '/../../include/api.php';
class BaseApi extends BaseModule
{
@ -295,18 +292,14 @@ class BaseApi extends BaseModule
}
}
/**
* Get user info array.
*
* @param int|string $contact_id Contact ID or URL
* @return array|bool
* @throws HTTPException\BadRequestException
* @throws HTTPException\InternalServerErrorException
* @throws HTTPException\UnauthorizedException
* @throws \ImagickException
*/
protected static function getUser($contact_id = null)
public static function getContactIDForSearchterm($searchterm)
{
return api_get_user($contact_id);
if (intval($searchterm) == 0) {
$cid = Contact::getIdForURL($searchterm, 0, false);
} else {
$cid = intval($searchterm);
}
return $cid;
}
}