From: Hypolite Petovan Date: Tue, 28 Jan 2020 12:33:37 +0000 (-0500) Subject: Move Mastodon API factories to Factory\Api\Mastodon X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=1ac9107e5f81fb00665b97565431a9daf31ce180;p=friendica.git Move Mastodon API factories to Factory\Api\Mastodon --- diff --git a/src/DI.php b/src/DI.php index 6eb1ed4b63..2c4163722e 100644 --- a/src/DI.php +++ b/src/DI.php @@ -141,7 +141,7 @@ abstract class DI } /** - * @return \Friendica\Core\PConfig\IPConfig + * @return Core\PConfig\IPConfig */ public static function pConfig() { @@ -221,31 +221,31 @@ abstract class DI // /** - * @return Factory\Mastodon\Account + * @return Factory\Api\Mastodon\Account */ public static function mstdnAccount() { - return self::$dice->create(Factory\Mastodon\Account::class); + return self::$dice->create(Factory\Api\Mastodon\Account::class); } /** - * @return Factory\Mastodon\FollowRequest + * @return Factory\Api\Mastodon\FollowRequest */ public static function mstdnFollowRequest() { - return self::$dice->create(Factory\Mastodon\FollowRequest::class); + return self::$dice->create(Factory\Api\Mastodon\FollowRequest::class); } /** - * @return Factory\Mastodon\Relationship + * @return Factory\Api\Mastodon\Relationship */ public static function mstdnRelationship() { - return self::$dice->create(Factory\Mastodon\Relationship::class); + return self::$dice->create(Factory\Api\Mastodon\Relationship::class); } /** - * @return \Friendica\Factory\Notification\Notification + * @return Factory\Notification\Notification */ public static function notification() { @@ -253,7 +253,7 @@ abstract class DI } /** - * @return \Friendica\Factory\Notification\Introduction + * @return Factory\Notification\Introduction */ public static function notificationIntro() { diff --git a/src/Factory/Api/Mastodon/Account.php b/src/Factory/Api/Mastodon/Account.php new file mode 100644 index 0000000000..60f9a76e11 --- /dev/null +++ b/src/Factory/Api/Mastodon/Account.php @@ -0,0 +1,46 @@ +baseUrl = $baseURL; + } + + /** + * @param int $contactId + * @param int $uid User Id + * @return \Friendica\Object\Api\Mastodon\Account + * @throws HTTPException\InternalServerErrorException + * @throws \ImagickException + */ + public function createFromContactId(int $contactId, $uid = 0) + { + $cdata = Contact::getPublicAndUserContacID($contactId, $uid); + if (!empty($cdata)) { + $publicContact = Contact::getById($cdata['public']); + $userContact = Contact::getById($cdata['user']); + } else { + $publicContact = Contact::getById($contactId); + $userContact = []; + } + + $apcontact = APContact::getByURL($publicContact['url'], false); + + return new \Friendica\Object\Api\Mastodon\Account($this->baseUrl, $publicContact, $apcontact, $userContact); + } +} diff --git a/src/Factory/Api/Mastodon/Emoji.php b/src/Factory/Api/Mastodon/Emoji.php new file mode 100644 index 0000000000..770966a776 --- /dev/null +++ b/src/Factory/Api/Mastodon/Emoji.php @@ -0,0 +1,46 @@ +baseUrl = $baseURL; + } + + /** + * @param int $contactId + * @param int $uid User Id + * @return \Friendica\Api\Entity\Mastodon\Account + * @throws HTTPException\InternalServerErrorException + * @throws \ImagickException + */ + public function createFromContactId(int $contactId, $uid = 0) + { + $cdata = Contact::getPublicAndUserContacID($contactId, $uid); + if (!empty($cdata)) { + $publicContact = Contact::getById($cdata['public']); + $userContact = Contact::getById($cdata['user']); + } else { + $publicContact = Contact::getById($contactId); + $userContact = []; + } + + $apcontact = APContact::getByURL($publicContact['url'], false); + + return new \Friendica\Api\Entity\Mastodon\Account($this->baseUrl, $publicContact, $apcontact, $userContact); + } +} diff --git a/src/Factory/Api/Mastodon/FollowRequest.php b/src/Factory/Api/Mastodon/FollowRequest.php new file mode 100644 index 0000000000..e0125613a9 --- /dev/null +++ b/src/Factory/Api/Mastodon/FollowRequest.php @@ -0,0 +1,47 @@ +baseUrl = $baseURL; + } + + /** + * @param Introduction $introduction + * @return \Friendica\Object\Api\Mastodon\FollowRequest + * @throws HTTPException\InternalServerErrorException + * @throws \ImagickException + */ + public function createFromIntroduction(Introduction $introduction) + { + $cdata = Contact::getPublicAndUserContacID($introduction->{'contact-id'}, $introduction->uid); + + if (empty($cdata)) { + $this->logger->warning('Wrong introduction data', ['Introduction' => $introduction]); + throw new HTTPException\InternalServerErrorException('Wrong introduction data'); + } + + $publicContact = Contact::getById($cdata['public']); + $userContact = Contact::getById($cdata['user']); + + $apcontact = APContact::getByURL($publicContact['url'], false); + + return new \Friendica\Object\Api\Mastodon\FollowRequest($this->baseUrl, $introduction->id, $publicContact, $apcontact, $userContact); + } +} diff --git a/src/Factory/Api/Mastodon/Relationship.php b/src/Factory/Api/Mastodon/Relationship.php new file mode 100644 index 0000000000..121d57e2a7 --- /dev/null +++ b/src/Factory/Api/Mastodon/Relationship.php @@ -0,0 +1,38 @@ +createFromContact(Contact::getById($userContactId)); + } + + /** + * @param array $userContact Full contact row record with uid != 0 + * @return RelationshipEntity + */ + public function createFromContact(array $userContact) + { + return new RelationshipEntity($userContact['id'], $userContact); + } + + /** + * @param int $userContactId Contact row id with uid != 0 + * @return RelationshipEntity + */ + public function createDefaultFromContactId(int $userContactId) + { + return new RelationshipEntity($userContactId); + } +} diff --git a/src/Factory/Mastodon/Account.php b/src/Factory/Mastodon/Account.php deleted file mode 100644 index e777e76fe9..0000000000 --- a/src/Factory/Mastodon/Account.php +++ /dev/null @@ -1,46 +0,0 @@ -baseUrl = $baseURL; - } - - /** - * @param int $contactId - * @param int $uid User Id - * @return \Friendica\Object\Api\Mastodon\Account - * @throws HTTPException\InternalServerErrorException - * @throws \ImagickException - */ - public function createFromContactId(int $contactId, $uid = 0) - { - $cdata = Contact::getPublicAndUserContacID($contactId, $uid); - if (!empty($cdata)) { - $publicContact = Contact::getById($cdata['public']); - $userContact = Contact::getById($cdata['user']); - } else { - $publicContact = Contact::getById($contactId); - $userContact = []; - } - - $apcontact = APContact::getByURL($publicContact['url'], false); - - return new \Friendica\Object\Api\Mastodon\Account($this->baseUrl, $publicContact, $apcontact, $userContact); - } -} diff --git a/src/Factory/Mastodon/FollowRequest.php b/src/Factory/Mastodon/FollowRequest.php deleted file mode 100644 index 3aabe413d6..0000000000 --- a/src/Factory/Mastodon/FollowRequest.php +++ /dev/null @@ -1,47 +0,0 @@ -baseUrl = $baseURL; - } - - /** - * @param Introduction $introduction - * @return \Friendica\Object\Api\Mastodon\FollowRequest - * @throws HTTPException\InternalServerErrorException - * @throws \ImagickException - */ - public function createFromIntroduction(Introduction $introduction) - { - $cdata = Contact::getPublicAndUserContacID($introduction->{'contact-id'}, $introduction->uid); - - if (empty($cdata)) { - $this->logger->warning('Wrong introduction data', ['Introduction' => $introduction]); - throw new HTTPException\InternalServerErrorException('Wrong introduction data'); - } - - $publicContact = Contact::getById($cdata['public']); - $userContact = Contact::getById($cdata['user']); - - $apcontact = APContact::getByURL($publicContact['url'], false); - - return new \Friendica\Object\Api\Mastodon\FollowRequest($this->baseUrl, $introduction->id, $publicContact, $apcontact, $userContact); - } -} diff --git a/src/Factory/Mastodon/Relationship.php b/src/Factory/Mastodon/Relationship.php deleted file mode 100644 index 7a8b216d4e..0000000000 --- a/src/Factory/Mastodon/Relationship.php +++ /dev/null @@ -1,38 +0,0 @@ -createFromContact(Contact::getById($userContactId)); - } - - /** - * @param array $userContact Full contact row record with uid != 0 - * @return RelationshipEntity - */ - public function createFromContact(array $userContact) - { - return new RelationshipEntity($userContact['id'], $userContact); - } - - /** - * @param int $userContactId Contact row id with uid != 0 - * @return RelationshipEntity - */ - public function createDefaultFromContactId(int $userContactId) - { - return new RelationshipEntity($userContactId); - } -}