diff --git a/src/Module/Api/Mastodon/Accounts/VerifyCredentials.php b/src/Module/Api/Mastodon/Accounts/VerifyCredentials.php new file mode 100644 index 0000000000..94fa32684d --- /dev/null +++ b/src/Module/Api/Mastodon/Accounts/VerifyCredentials.php @@ -0,0 +1,58 @@ +. + * + */ + +namespace Friendica\Module\Api\Mastodon\Accounts; + +use Friendica\Core\System; +use Friendica\DI; +use Friendica\Model\Contact; +use Friendica\Model\User; +use Friendica\Module\BaseApi; + +/** + * @see https://docs.joinmastodon.org/methods/accounts/ + */ +class VerifyCredentials extends BaseApi +{ + /** + * @param array $parameters + * @throws \Friendica\Network\HTTPException\InternalServerErrorException + */ + public static function rawContent(array $parameters = []) + { + self::login(); + $uid = self::getCurrentUserID(); + + $self = User::getOwnerDataById($uid); + if (empty($self)) { + DI::mstdnError()->RecordNotFound(); + } + + $cdata = Contact::getPublicAndUserContacID($self['id'], $uid); + if (empty($cdata)) { + DI::mstdnError()->RecordNotFound(); + } + + // @todo Support the source property, + $account = DI::mstdnAccount()->createFromContactId($cdata['user'], $uid); + System::jsonExit($account); + } +} diff --git a/static/routes.config.php b/static/routes.config.php index ff90dd9d58..e07befe027 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -75,7 +75,7 @@ return [ '/accounts/{id:\d+}/note' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], '/accounts/relationships' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], '/accounts/search' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], - '/accounts/verify_credentials' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], + '/accounts/verify_credentials' => [Module\Api\Mastodon\Accounts\VerifyCredentials::class, [R::GET ]], '/accounts/update_credentials' => [Module\Api\Mastodon\Unimplemented::class, [R::PATCH ]], '/admin/accounts' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], '/admin/accounts/{id:\d+}' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]],