]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Api/Mastodon/Card.php
Merge pull request #10116 from mexon/mat/addon-console-command
[friendica.git] / src / Object / Api / Mastodon / Card.php
index 990f6a6bfa50fa45c889c6a471f4f2b391bab314..33e3c105994515e3d32281da73feca1bd73c0885 100644 (file)
 
 namespace Friendica\Object\Api\Mastodon;
 
-use Friendica\BaseEntity;
-use Friendica\Content\Text\BBCode;
-use Friendica\Object\Api\Mastodon\Status\Counts;
-use Friendica\Object\Api\Mastodon\Status\UserAttributes;
-use Friendica\Util\DateTimeFormat;
+use Friendica\BaseDataTransferObject;
 
 /**
  * Class Card
  *
  * @see https://docs.joinmastodon.org/entities/card
  */
-class Card extends BaseEntity
+class Card extends BaseDataTransferObject
 {
        /** @var string */
        protected $url;
@@ -43,20 +39,40 @@ class Card extends BaseEntity
        /** @var string */
        protected $type;
        /** @var string */
+       protected $provider_name;
+       /** @var string */
+       protected $provider_url;
+       /** @var string */
        protected $image;
 
        /**
-        * Creates a status record from an item record.
+        * Creates a card record from an attachment array.
         *
         * @param array   $attachment Attachment record
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public function __construct(array $attachment)
        {
-               $this->url         = $attachment['url'] ?? '';
-               $this->title       = $attachment['title'] ?? '';
-               $this->description = $attachment['description'] ?? '';
-               $this->type        = $attachment['type'] ?? '';
-               $this->image       = $attachment['image'] ?? '';
+               $this->url           = $attachment['url'] ?? '';
+               $this->title         = $attachment['title'] ?? '';
+               $this->description   = $attachment['description'] ?? '';
+               $this->type          = $attachment['type'] ?? '';
+               $this->image         = $attachment['image'] ?? '';
+               $this->provider_name = $attachment['provider_name'] ?? '';
+               $this->provider_url  = $attachment['provider_url'] ?? '';
+       }
+
+       /**
+        * Returns the current entity as an array
+        *
+        * @return array
+        */
+       public function toArray(): array
+       {
+               if (empty($this->url)) {
+                       return [];
+               }
+
+               return parent::toArray();
        }
 }