API: We now support two more timeline api endpoints

This commit is contained in:
Michael 2021-05-07 21:28:48 +00:00
parent d148ff0336
commit dd38cc330f
7 changed files with 220 additions and 20 deletions

View file

@ -64,8 +64,14 @@ class Statuses extends BaseApi
$params = ['order' => ['uri-id' => true], 'limit' => $limit];
$condition = ['author-id' => $id, 'private' => [Item::PUBLIC, Item::UNLISTED],
'uid' => 0, 'network' => Protocol::FEDERATED];
$uid = self::getCurrentUserID();
if (!$uid) {
$condition = ['author-id' => $id, 'private' => [Item::PUBLIC, Item::UNLISTED],
'uid' => 0, 'network' => Protocol::FEDERATED];
} else {
$condition = ["`author-id` = ? AND (`uid` = 0 OR (`uid` = ? AND NOT `global`))", $id, $uid];
}
$condition = DBA::mergeConditions($condition, ["(`gravity` IN (?, ?) OR (`gravity` = ? AND `vid` = ?))",
GRAVITY_PARENT, GRAVITY_COMMENT, GRAVITY_ACTIVITY, Verb::getID(Activity::ANNOUNCE)]);
@ -83,11 +89,11 @@ class Statuses extends BaseApi
$params['order'] = ['uri-id'];
}
$items = Post::selectForUser(0, ['uri-id', 'uid'], $condition, $params);
$items = Post::selectForUser($uid, ['uri-id'], $condition, $params);
$statuses = [];
while ($item = Post::fetch($items)) {
$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $item['uid']);
$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid);
}
DBA::close($items);