* @param array $taglist
* @param array $attachments
* @return int ID of the created delayed post entry
- */
+ */
public static function add(string $uri, array $item, int $notify = 0, bool $unprepared = false, string $delayed = '', array $taglist = [], array $attachments = [])
{
if (empty($item['uid']) || self::exists($uri, $item['uid'])) {
return DBA::delete('delayed-post', ['uri' => $uri, 'uid' => $uid]);
}
+ /**
+ * Delete scheduled posts and the associated workerqueue entry
+ *
+ * @param integer $id
+ * @return void
+ */
+ public static function deleteById(int $id)
+ {
+ $post = DBA::selectFirst('delayed-post', ['wid'], ['id' => $id]);
+ if (empty($post['wid'])) {
+ return;
+ }
+
+ DBA::delete('delayed-post', ['id' => $id]);
+ DBA::delete('workerqueue', ['id' => $post['wid']]);
+ }
+
/**
* Check if an entry exists
*
if (self::exists($uri, $item['uid'])) {
self::delete($uri, $item['uid']);
}
-
+
return $id;
}
$id = Item::insert($item, $notify);
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Model\Post;
use Friendica\Module\BaseApi;
/**
DI::mstdnError()->UnprocessableEntity();
}
- $condtion = ['id' => $parameters['id'], 'uid' => $uid];
- $post = DBA::selectFirst('delayed-post', ['id', 'wid'], $condtion);
- if (empty($post['id'])) {
+ if (!DBA::exists('delayed-post', ['id' => $parameters['id'], 'uid' => $uid])) {
DI::mstdnError()->RecordNotFound();
}
- if (!DBA::delete('delayed-post', $condtion)) {
- DI::mstdnError()->RecordNotFound();
- }
-
- if (!DBA::delete('workerqueue', ['id' => $post['wid']])) {
- DI::mstdnError()->RecordNotFound();
- }
+ Post\Delayed::deleteById($parameters['id']);
System::jsonExit([]);
}
if (empty($_REQUEST['delete'])) {
throw new HTTPException\BadRequestException();
}
- self::deleteSchedule($_REQUEST['delete']);
+
+ if (!DBA::exists('delayed-post', ['id' => $_REQUEST['delete'], 'uid' => local_user()])) {
+ throw new HTTPException\NotFoundException();
+ }
+
+ Post\Delayed::deleteById($_REQUEST['delete']);
}
public static function content(array $parameters = [])
return $o;
}
-
- private static function deleteSchedule($id)
- {
- $condtion = ['id' => $id, 'uid' => local_user()];
- $post = DBA::selectFirst('delayed-post', ['id', 'wid'], $condtion);
- if (empty($post['id'])) {
- return;
- }
-
- DBA::delete('delayed-post', ['id' => $id, 'uid' => local_user()]);
- DBA::delete('workerqueue', ['id' => $post['wid']]);
- }
}