Implement time based paging for Mastodon Home Timeline Endpoint

This commit is contained in:
Hank Grabowski 2023-02-21 15:37:32 -05:00
parent b1b3b0ffe7
commit 818075d039
4 changed files with 131 additions and 22 deletions

View file

@ -154,6 +154,21 @@ class Status extends BaseDataTransferObject
$this->friendica = new FriendicaExtension($item['title'], $counts->dislikes);
}
/**
* Returns the current created_at DateTime as an integer timestamp
* @return int
* @throws \Exception
*/
public function createdAtTimestamp(): int
{
$result = strtotime($this->created_at);
if (!$result) {
throw new \Exception('Unknown date-time format');
}
return $result;
}
/**
* Returns the current entity as an array
*

View file

@ -0,0 +1,32 @@
<?php
/**
* @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
namespace Friendica\Object\Api\Mastodon;
/**
* Enumeration of order types that can be requested
*/
abstract class TimelineOrderByTypes
{
const ID = 'id';
const CREATED_AT = 'created_at';
}