]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Api/Mastodon/Application.php
Preparation for Oauth client registration
[friendica.git] / src / Object / Api / Mastodon / Application.php
index c8bb03a30dc834a7bcf0472e79eea4f084d4e3fc..1f31ca8ec7cd46f25b65782601fab4cd9a569593 100644 (file)
@@ -30,8 +30,18 @@ use Friendica\BaseDataTransferObject;
  */
 class Application extends BaseDataTransferObject
 {
+       /** @var string */
+       protected $client_id;
+       /** @var string */
+       protected $client_secret;
+       /** @var int */
+       protected $id;
        /** @var string */
        protected $name;
+       /** @var string */
+       protected $redirect_uri;
+       /** @var string */
+       protected $website;
 
        /**
         * Creates an application entry
@@ -39,8 +49,36 @@ class Application extends BaseDataTransferObject
         * @param array   $item
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public function __construct(string $name)
+       public function __construct(string $name, string $client_id = null, string $client_secret = null, int $id = null, string $redirect_uri = null, string $website = null)
        {
-               $this->name = $name;
+               $this->client_id     = $client_id;
+               $this->client_secret = $client_secret;
+               $this->id            = $id;
+               $this->name          = $name;
+               $this->redirect_uri  = $redirect_uri;
+               $this->website       = $website;
+       }
+
+       /**
+        * Returns the current entity as an array
+        *
+        * @return array
+        */
+       public function toArray(): array
+       {
+               $application = parent::toArray();
+
+               if (empty($application['id'])) {
+                       unset($application['client_id']);
+                       unset($application['client_secret']);
+                       unset($application['id']);
+                       unset($application['redirect_uri']);
+               }
+
+               if (empty($application['website'])) {
+                       unset($application['website']);
+               }
+
+               return $application;
        }
 }