mirror of
https://github.com/friendica/friendica
synced 2024-11-19 03:43:40 +00:00
Merge pull request #11012 from annando/api-relations
Fix followers/following for the Mastodon API
This commit is contained in:
commit
e9b3a9426a
5 changed files with 24 additions and 19 deletions
|
@ -51,6 +51,7 @@ class Followers extends BaseApi
|
|||
$request = self::getRequest([
|
||||
'max_id' => 0, // Return results older than this id
|
||||
'since_id' => 0, // Return results newer than this id
|
||||
'min_id' => 0, // Return results immediately newer than id
|
||||
'limit' => 40, // Maximum number of results to return. Defaults to 40.
|
||||
]);
|
||||
|
||||
|
@ -66,20 +67,20 @@ class Followers extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ["`relation-cid` > ?", $request['since_id']]);
|
||||
}
|
||||
|
||||
if (!empty($min_id)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`relation-cid` > ?", $min_id]);
|
||||
if (!empty($request['min_id'])) {
|
||||
$condition = DBA::mergeConditions($condition, ["`relation-cid` > ?", $request['min_id']]);
|
||||
|
||||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('contact-relation', ['relation-cid'], $condition, $this->parameters);
|
||||
$followers = DBA::select('contact-relation', ['relation-cid'], $condition, $params);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['relation-cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['relation-cid'], $uid);
|
||||
}
|
||||
DBA::close($followers);
|
||||
|
||||
if (!empty($min_id)) {
|
||||
if (!empty($request['min_id'])) {
|
||||
array_reverse($accounts);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ class Following extends BaseApi
|
|||
$request = self::getRequest([
|
||||
'max_id' => 0, // Return results older than this id
|
||||
'since_id' => 0, // Return results newer than this id
|
||||
'min_id' => 0, // Return results immediately newer than id
|
||||
'limit' => 40, // Maximum number of results to return. Defaults to 40.
|
||||
]);
|
||||
|
||||
|
@ -66,20 +67,20 @@ class Following extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['since_id']]);
|
||||
}
|
||||
|
||||
if (!empty($min_id)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $min_id]);
|
||||
if (!empty($request['min_id'])) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['min_id']]);
|
||||
|
||||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('contact-relation', ['cid'], $condition, $this->parameters);
|
||||
$followers = DBA::select('contact-relation', ['cid'], $condition, $params);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['cid'], $uid);
|
||||
}
|
||||
DBA::close($followers);
|
||||
|
||||
if (!empty($min_id)) {
|
||||
if (!empty($request['min_id'])) {
|
||||
array_reverse($accounts);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ class Blocks extends BaseApi
|
|||
$request = self::getRequest([
|
||||
'max_id' => 0, // Return results older than this id
|
||||
'since_id' => 0, // Return results newer than this id
|
||||
'min_id' => 0, // Return results immediately newer than id
|
||||
'limit' => 40, // Maximum number of results. Defaults to 40.
|
||||
]);
|
||||
|
||||
|
@ -66,20 +67,20 @@ class Blocks extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['since_id']]);
|
||||
}
|
||||
|
||||
if (!empty($min_id)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $min_id]);
|
||||
if (!empty($request['min_id'])) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['min_id']]);
|
||||
|
||||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $this->parameters);
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $params);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['cid'], $uid);
|
||||
}
|
||||
DBA::close($followers);
|
||||
|
||||
if (!empty($min_id)) {
|
||||
if (!empty($request['min_id'])) {
|
||||
array_reverse($accounts);
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ class Accounts extends BaseApi
|
|||
$request = self::getRequest([
|
||||
'max_id' => 0, // Return results older than this id
|
||||
'since_id' => 0, // Return results newer than this id
|
||||
'min_id' => 0, // Return results immediately newer than id
|
||||
'limit' => 40, // Maximum number of results. Defaults to 40. Max 40. Set to 0 in order to get all accounts without pagination.
|
||||
]);
|
||||
|
||||
|
@ -84,8 +85,8 @@ class Accounts extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ["`contact-id` > ?", $request['since_id']]);
|
||||
}
|
||||
|
||||
if (!empty($min_id)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`contact-id` > ?", $min_id]);
|
||||
if (!empty($request['min_id'])) {
|
||||
$condition = DBA::mergeConditions($condition, ["`contact-id` > ?", $request['min_id']]);
|
||||
|
||||
$params['order'] = ['contact-id'];
|
||||
}
|
||||
|
@ -99,7 +100,7 @@ class Accounts extends BaseApi
|
|||
}
|
||||
DBA::close($members);
|
||||
|
||||
if (!empty($min_id)) {
|
||||
if (!empty($request['min_id'])) {
|
||||
array_reverse($accounts);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ class Mutes extends BaseApi
|
|||
$request = self::getRequest([
|
||||
'max_id' => 0, // Return results older than this id
|
||||
'since_id' => 0, // Return results newer than this id
|
||||
'min_id' => 0, // Return results immediately newer than id
|
||||
'limit' => 40, // Maximum number of results. Defaults to 40.
|
||||
]);
|
||||
|
||||
|
@ -66,20 +67,20 @@ class Mutes extends BaseApi
|
|||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['since_id']]);
|
||||
}
|
||||
|
||||
if (!empty($min_id)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $min_id]);
|
||||
if (!empty($request['min_id'])) {
|
||||
$condition = DBA::mergeConditions($condition, ["`cid` > ?", $request['min_id']]);
|
||||
|
||||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $this->parameters);
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $params);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['cid'], $uid);
|
||||
}
|
||||
DBA::close($followers);
|
||||
|
||||
if (!empty($min_id)) {
|
||||
if (!empty($request['min_id'])) {
|
||||
array_reverse($accounts);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue