Preparation for Oauth client registration

This commit is contained in:
Michael 2021-05-09 22:23:21 +00:00
parent a696b7f427
commit 585d283ff9
7 changed files with 199 additions and 5 deletions

View 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;
}
}