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