New post class in protocol and worker classes

This commit is contained in:
Michael 2021-01-16 04:14:58 +00:00
parent 3ab4e20fe6
commit 68502daed0
14 changed files with 97 additions and 111 deletions

View file

@ -48,7 +48,7 @@ class APDelivery
if (ActivityPub\Transmitter::archivedInbox($inbox)) {
Logger::info('Inbox is archived', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uid' => $uid]);
if (in_array($cmd, [Delivery::POST])) {
$item = Item::selectFirst(['uri-id'], ['id' => $item_id]);
$item = Post::selectFirst(['uri-id'], ['id' => $item_id]);
Post\DeliveryData::incrementQueueFailed($item['uri-id'] ?? 0);
}
return;
@ -81,7 +81,7 @@ class APDelivery
}
// This should never fail and is temporariy (until the move to the "post" structure)
$item = Item::selectFirst(['uri-id'], ['id' => $item_id]);
$item = Post::selectFirst(['uri-id'], ['id' => $item_id]);
$uriid = $item['uri-id'] ?? 0;
$gsid = null;

View file

@ -74,7 +74,7 @@ class Delivery
$uid = $target_id;
$target_item = [];
} else {
$item = Model\Item::selectFirst(['parent'], ['id' => $target_id]);
$item = Model\Post::selectFirst(['parent'], ['id' => $target_id]);
if (!DBA::isResult($item) || empty($item['parent'])) {
return;
}
@ -82,9 +82,9 @@ class Delivery
$condition = ['id' => [$target_id, $parent_id], 'visible' => true, 'moderated' => false];
$params = ['order' => ['id']];
$itemdata = Model\Item::select([], $condition, $params);
$itemdata = Model\Post::select([], $condition, $params);
while ($item = Model\Item::fetch($itemdata)) {
while ($item = Model\Post::fetch($itemdata)) {
if ($item['verb'] == Activity::ANNOUNCE) {
continue;
}
@ -121,7 +121,7 @@ class Delivery
}
$condition = ['uri' => $target_item['thr-parent'], 'uid' => $target_item['uid']];
$thr_parent = Model\Item::selectFirst(['network', 'object'], $condition);
$thr_parent = Model\Post::selectFirst(['network', 'object'], $condition);
if (!DBA::isResult($thr_parent)) {
// Shouldn't happen. But when this does, we just take the parent as thread parent.
// That's totally okay for what we use this variable here.
@ -593,13 +593,13 @@ class Delivery
if (empty($target_item['title'])) {
$condition = ['uri' => $target_item['parent-uri'], 'uid' => $owner['uid']];
$title = Model\Item::selectFirst(['title'], $condition);
$title = Model\Post::selectFirst(['title'], $condition);
if (DBA::isResult($title) && ($title['title'] != '')) {
$subject = $title['title'];
} else {
$condition = ['parent-uri' => $target_item['parent-uri'], 'uid' => $owner['uid']];
$title = Model\Item::selectFirst(['title'], $condition);
$title = Model\Post::selectFirst(['title'], $condition);
if (DBA::isResult($title) && ($title['title'] != '')) {
$subject = $title['title'];

View file

@ -101,7 +101,7 @@ class Notifier
} else {
// find ancestors
$condition = ['id' => $target_id, 'visible' => true, 'moderated' => false];
$target_item = Item::selectFirst([], $condition);
$target_item = Post::selectFirst([], $condition);
if (!DBA::isResult($target_item) || !intval($target_item['parent'])) {
Logger::info('No target item', ['cmd' => $cmd, 'target' => $target_id]);
@ -119,13 +119,13 @@ class Notifier
$condition = ['parent' => $target_item['parent'], 'visible' => true, 'moderated' => false];
$params = ['order' => ['id']];
$items_stmt = Item::select([], $condition, $params);
$items_stmt = Post::select([], $condition, $params);
if (!DBA::isResult($items_stmt)) {
Logger::info('No item found', ['cmd' => $cmd, 'target' => $target_id]);
return;
}
$items = Item::inArray($items_stmt);
$items = Post::inArray($items_stmt);
// avoid race condition with deleting entries
if ($items[0]['deleted']) {
@ -165,7 +165,7 @@ class Notifier
$fields = ['network', 'author-id', 'author-link', 'author-network', 'owner-id'];
$condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]];
$thr_parent = Item::selectFirst($fields, $condition);
$thr_parent = Post::selectFirst($fields, $condition);
if (empty($thr_parent)) {
$thr_parent = $parent;
}

View file

@ -27,6 +27,7 @@ use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\Post;
use Friendica\Model\User;
use Friendica\Protocol\Activity;
use Friendica\Protocol\ActivityPub;
@ -249,7 +250,7 @@ class OnePoll
// Have we seen it before?
$fields = ['deleted', 'id'];
$condition = ['uid' => $importer_uid, 'uri' => $datarray['uri']];
$item = Item::selectFirst($fields, $condition);
$item = Post::selectFirst($fields, $condition);
if (DBA::isResult($item)) {
Logger::log("Mail: Seen before ".$msg_uid." for ".$mailconf['user']." UID: ".$importer_uid." URI: ".$datarray['uri'],Logger::DEBUG);
@ -298,7 +299,7 @@ class OnePoll
}
}
$condition = ['uri' => $refs_arr, 'uid' => $importer_uid];
$parent = Item::selectFirst(['uri'], $condition);
$parent = Post::selectFirst(['uri'], $condition);
if (DBA::isResult($parent)) {
$datarray['thr-parent'] = $parent['uri'];
}
@ -331,7 +332,7 @@ class OnePoll
if (empty($datarray['thr-parent']) && $reply) {
$condition = ['title' => $datarray['title'], 'uid' => $importer_uid, 'network' => Protocol::MAIL];
$params = ['order' => ['created' => true]];
$parent = Item::selectFirst(['uri'], $condition, $params);
$parent = Post::selectFirst(['uri'], $condition, $params);
if (DBA::isResult($parent)) {
$datarray['thr-parent'] = $parent['uri'];
}

View file

@ -23,8 +23,8 @@ namespace Friendica\Worker;
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Model\Item;
use Friendica\Model\Photo;
use Friendica\Model\Post;
/**
* Removes orphaned data from deleted contacts
@ -47,13 +47,13 @@ class RemoveContact {
$condition = ['uid' => $contact['uid'], 'contact-id' => $id];
}
do {
$items = Item::select(['id', 'guid'], $condition, ['limit' => 100]);
while ($item = Item::fetch($items)) {
$items = Post::select(['id', 'guid'], $condition, ['limit' => 100]);
while ($item = Post::fetch($items)) {
Logger::info('Delete removed contact item', ['id' => $item['id'], 'guid' => $item['guid']]);
DBA::delete('item', ['id' => $item['id']]);
}
DBA::close($items);
} while (Item::exists($condition));
} while (Post::exists($condition));
Photo::delete(['contact-id' => $id]);
$ret = DBA::delete('contact', ['id' => $id]);

View file

@ -23,6 +23,7 @@ namespace Friendica\Worker;
use Friendica\Database\DBA;
use Friendica\Model\Item;
use Friendica\Model\Post;
/**
* Removes orphaned data from deleted users
@ -39,11 +40,11 @@ class RemoveUser {
// Now we delete all user items
$condition = ['uid' => $uid, 'deleted' => false];
do {
$items = Item::select(['id'], $condition, ['limit' => 100]);
while ($item = Item::fetch($items)) {
$items = Post::select(['id'], $condition, ['limit' => 100]);
while ($item = Post::fetch($items)) {
Item::markForDeletionById($item['id'], PRIORITY_NEGLIGIBLE);
}
DBA::close($items);
} while (Item::exists($condition));
} while (Post::exists($condition));
}
}