namespace Friendica\Object\Api\Mastodon;
-use Friendica\BaseEntity;
+use Friendica\BaseDataTransferObject;
use Friendica\Content\Text\BBCode;
use Friendica\Object\Api\Mastodon\Status\Counts;
use Friendica\Object\Api\Mastodon\Status\UserAttributes;
*
* @see https://docs.joinmastodon.org/entities/status
*/
-class Status extends BaseEntity
+class Status extends BaseDataTransferObject
{
/** @var string */
protected $id;
* @param array $item
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
- public function __construct(array $item, Account $account, Counts $counts, UserAttributes $userAttributes, bool $sensitive, Application $application, array $mentions, array $tags, Card $card, array $attachments)
+ public function __construct(array $item, Account $account, Counts $counts, UserAttributes $userAttributes, bool $sensitive, Application $application, array $mentions, array $tags, Card $card, array $attachments, array $reblog)
{
$this->id = (string)$item['uri-id'];
$this->created_at = DateTimeFormat::utc($item['created'], DateTimeFormat::ATOM);
$this->bookmarked = $userAttributes->bookmarked;
$this->pinned = $userAttributes->pinned;
$this->content = BBCode::convert($item['raw-body'] ?? $item['body'], false);
- $this->reblog = null; /// @todo
+ $this->reblog = $reblog;
$this->application = $application->toArray();
$this->account = $account->toArray();
$this->media_attachments = $attachments;
*
* @return array
*/
- public function toArray()
+ public function toArray(): array
{
$status = parent::toArray();
unset($status['application']);
}
+ if (empty($status['reblog'])) {
+ $status['reblog'] = null;
+ }
+
return $status;
}
}