. * */ namespace Friendica\Module\Api\Mastodon\Accounts; use Friendica\Core\System; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Module\BaseApi; /** * @see https://docs.joinmastodon.org/methods/accounts/ */ class Follow extends BaseApi { protected function post(array $request = [], array $post = []) { self::checkAllowedScope(self::SCOPE_FOLLOW); $uid = self::getCurrentUserID(); if (empty($this->parameters['id'])) { DI::mstdnError()->UnprocessableEntity(); } $contact = Contact::getById($this->parameters['id'], ['url']); $result = Contact::createFromProbeForUser($uid, $contact['url']); if (!$result['success']) { DI::mstdnError()->UnprocessableEntity($result['message']); } System::jsonExit(DI::mstdnRelationship()->createFromContactId($result['cid'], $uid)->toArray()); } }