]> git.mxchange.org Git - friendica.git/commitdiff
Fix followers/following for the Mastodon API
authorMichael <heluecht@pirati.ca>
Sun, 21 Nov 2021 14:47:18 +0000 (14:47 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 21 Nov 2021 14:47:18 +0000 (14:47 +0000)
src/Module/Api/Mastodon/Accounts/Followers.php
src/Module/Api/Mastodon/Accounts/Following.php
src/Module/Api/Mastodon/Blocks.php
src/Module/Api/Mastodon/Lists/Accounts.php
src/Module/Api/Mastodon/Mutes.php

index 981d2c715d556680d69bfa26e263fcbe9afebbe5..4c1a6429c5dcaccc5c1a470413243d9f700b65fe 100644 (file)
@@ -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);
                }
 
index 41352ddaf5496acf26a138dcecaed2d2645b81dd..4b67c9700878fd7aa5f3a70352b58e694c197cd5 100644 (file)
@@ -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);
                }
 
index b6a26d9733802c1228f7211f127e0ab5a35baa63..1f8b7ae6abd52db188eda7691e501d87c6db51dd 100644 (file)
@@ -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);
                }
 
index c70e20349b7fe0e6272c5e8a0dcaf3920306f42d..feb670b271182644400a5353212e7744df9ca73a 100644 (file)
@@ -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);
                }
 
index 3c24071f0773d9e8ab9b8a7681eef4d5758e6b6e..191a2d607c23984e44a35308d7b9b3ec4ea0f186 100644 (file)
@@ -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);
                }