/**
* @property-read int $uid
- * @property-read int $cid
+ * @property-read int $cid Either a public contact id (DFRN suggestion) or user-specific id (Contact::addRelationship)
* @property-read int|null $sid
* @property-read bool $knowyou
* @property-read string $note
use Friendica\App\BaseURL;
use Friendica\BaseFactory;
use Friendica\Contact\Introduction\Entity\Introduction;
+use Friendica\Database\DBA;
use Friendica\Model\APContact;
use Friendica\Model\Contact;
use Friendica\Network\HTTPException;
*/
public function createFromIntroduction(Introduction $introduction): \Friendica\Object\Api\Mastodon\FollowRequest
{
- $cdata = Contact::getPublicAndUserContactID($introduction->cid, $introduction->uid);
-
- if (empty($cdata)) {
+ $account = DBA::selectFirst('account-user-view', [], ['id' => $introduction->cid, 'uid' => [0, $introduction->uid]]);
+ if (empty($account)) {
$this->logger->warning('Wrong introduction data', ['Introduction' => $introduction]);
throw new HTTPException\InternalServerErrorException('Wrong introduction data');
}
- $publicContact = Contact::getById($cdata['public']);
- $userContact = Contact::getById($cdata['user']);
-
- $apContact = APContact::getByURL($publicContact['url'], false);
-
- return new \Friendica\Object\Api\Mastodon\FollowRequest($this->baseUrl, $introduction->id, $publicContact, $apContact, $userContact);
+ return new \Friendica\Object\Api\Mastodon\FollowRequest($this->baseUrl, $introduction->id, $account);
}
}
*
* @param BaseURL $baseUrl
* @param int $introduction_id Introduction record id
- * @param array $publicContact Full contact table record with uid = 0
- * @param array $apcontact Optional full apcontact table record
- * @param array $userContact Optional full contact table record with uid != 0
+ * @param array $account entry of "account-user-view"
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
- public function __construct(BaseURL $baseUrl, int $introduction_id, array $publicContact, array $apcontact = [], array $userContact = [])
+ public function __construct(BaseURL $baseUrl, int $introduction_id, array $account)
{
- parent::__construct($baseUrl, $publicContact, new Fields(), $apcontact, $userContact);
+ parent::__construct($baseUrl, $account, new Fields());
$this->id = $introduction_id;
}