Merge pull request #8163 from MrPetovan/task/7817-custom-fields-part-3

New custom profile fields feature part 3: Updating the API
This commit is contained in:
Philipp 2020-01-31 22:39:11 +01:00 committed by GitHub
commit 0406fe7ade
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 351 additions and 358 deletions

View file

@ -4,6 +4,7 @@ namespace Friendica\Object\Api\Mastodon;
use Friendica\App\BaseURL;
use Friendica\BaseEntity;
use Friendica\Collection\Api\Mastodon\Fields;
use Friendica\Content\Text\BBCode;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
@ -70,7 +71,7 @@ class Account extends BaseEntity
* @param array $userContact Optional full contact table record with uid != 0
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
public function __construct(BaseURL $baseUrl, array $publicContact, array $apcontact = [], array $userContact = [])
public function __construct(BaseURL $baseUrl, array $publicContact, Fields $fields, array $apcontact = [], array $userContact = [])
{
$this->id = $publicContact['id'];
$this->username = $publicContact['nick'];
@ -94,7 +95,7 @@ class Account extends BaseEntity
// No custom emojis per account in Friendica
$this->emojis = [];
// No metadata fields in Friendica
$this->fields = [];
$this->fields = $fields->getArrayCopy();
$this->bot = ($publicContact['contact-type'] == Contact::TYPE_NEWS);
$this->group = ($publicContact['contact-type'] == Contact::TYPE_COMMUNITY);
$this->discoverable = !$publicContact['unsearchable'];

View file

@ -7,7 +7,7 @@ use Friendica\BaseEntity;
/**
* Class Field
*
* @see https://docs.joinmastodon.org/api/entities/#field
* @see https://docs.joinmastodon.org/entities/field/
*/
class Field extends BaseEntity
{
@ -17,4 +17,12 @@ class Field extends BaseEntity
protected $value;
/** @var string (Datetime)*/
protected $verified_at;
public function __construct(string $name, string $value)
{
$this->name = $name;
$this->value = $value;
// Link verification unsupported
$this->verified_at = null;
}
}

View file

@ -3,6 +3,7 @@
namespace Friendica\Object\Api\Mastodon;
use Friendica\App\BaseURL;
use Friendica\Collection\Api\Mastodon\Fields;
/**
* Virtual entity to separate Accounts from Follow Requests.
@ -24,7 +25,7 @@ class FollowRequest extends Account
*/
public function __construct(BaseURL $baseUrl, int $introduction_id, array $publicContact, array $apcontact = [], array $userContact = [])
{
parent::__construct($baseUrl, $publicContact, $apcontact, $userContact);
parent::__construct($baseUrl, $publicContact, new Fields(), $apcontact, $userContact);
$this->id = $introduction_id;
}