* @return \Friendica\Object\Api\Mastodon\ScheduledStatus
* @throws HTTPException\InternalServerErrorException
*/
- public function createFromId(int $id, int $uid): \Friendica\Object\Api\Mastodon\ScheduledStatus
+ public function createFromDelayedPostId(int $id, int $uid): \Friendica\Object\Api\Mastodon\ScheduledStatus
{
$delayed_post = $this->dba->selectFirst('delayed-post', [], ['id' => $id, 'uid' => $uid]);
if (empty($delayed_post)) {
}
$parameters = Post\Delayed::getParametersForid($delayed_post['id']);
+ if (empty($parameters)) {
+ throw new HTTPException\NotFoundException('Scheduled status with ID ' . $id . ' not found for user ' . $uid . '.');
+ }
return new \Friendica\Object\Api\Mastodon\ScheduledStatus($delayed_post, $parameters);
}
$uid = self::getCurrentUserID();
if (isset($parameters['id'])) {
- System::jsonExit(DI::mstdnScheduledStatus()->createFromId($parameters['id'], $uid)->toArray());
+ System::jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($parameters['id'], $uid)->toArray());
}
$request = self::getRequest([
$statuses = [];
while ($post = DBA::fetch($posts)) {
self::setBoundaries($post['id']);
- $statuses[] = DI::mstdnScheduledStatus()->createFromId($post['id'], $uid);
+ $statuses[] = DI::mstdnScheduledStatus()->createFromDelayedPostId($post['id'], $uid);
}
DBA::close($posts);
if (empty($id)) {
DI::mstdnError()->InternalError();
}
- System::jsonExit(DI::mstdnScheduledStatus()->createFromId($id, $uid)->toArray());
+ System::jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($id, $uid)->toArray());
}
$id = Item::insert($item, true);
/**
* Creates a status record from a delayed-post record.
*
- * @param array $delayed_post
+ * @param array $delayed_post Record with the delayed post
+ * @param array $parameters Parameters for the workerqueue entry for the delayed post
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
public function __construct(array $delayed_post, array $parameters)