]> git.mxchange.org Git - friendica.git/commitdiff
"verify_credentials" is now partially supported
authorMichael <heluecht@pirati.ca>
Sat, 8 May 2021 02:52:44 +0000 (02:52 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 8 May 2021 02:52:44 +0000 (02:52 +0000)
src/Module/Api/Mastodon/Accounts/VerifyCredentials.php [new file with mode: 0644]
static/routes.config.php

diff --git a/src/Module/Api/Mastodon/Accounts/VerifyCredentials.php b/src/Module/Api/Mastodon/Accounts/VerifyCredentials.php
new file mode 100644 (file)
index 0000000..94fa326
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+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);
+       }
+}
index ff90dd9d58ad39da9632a692eacd6223966391ee..e07befe0279050be861efca1b1be1f0852a589d4 100644 (file)
@@ -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         ]],