1
0
Fork 0

"item-delivery-data" is now "post-delivery-data"

This commit is contained in:
Michael 2020-05-02 19:34:02 +00:00
commit 098ba4a667
8 changed files with 147 additions and 120 deletions

View file

@ -283,7 +283,7 @@ class Item
// Fetch data from the item-content table whenever there is content there
if (self::isLegacyMode()) {
$legacy_fields = array_merge(ItemDeliveryData::LEGACY_FIELD_LIST, self::MIXED_CONTENT_FIELDLIST);
$legacy_fields = array_merge(Post\DeliveryData::LEGACY_FIELD_LIST, self::MIXED_CONTENT_FIELDLIST);
foreach ($legacy_fields as $field) {
if (empty($row[$field]) && !empty($row['internal-item-' . $field])) {
$row[$field] = $row['internal-item-' . $field];
@ -687,7 +687,7 @@ class Item
$fields['item-content'] = array_merge(self::CONTENT_FIELDLIST, self::MIXED_CONTENT_FIELDLIST);
$fields['item-delivery-data'] = array_merge(ItemDeliveryData::LEGACY_FIELD_LIST, ItemDeliveryData::FIELD_LIST);
$fields['post-delivery-data'] = array_merge(Post\DeliveryData::LEGACY_FIELD_LIST, Post\DeliveryData::FIELD_LIST);
$fields['permissionset'] = ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid'];
@ -809,8 +809,8 @@ class Item
$joins .= " LEFT JOIN `item-content` ON `item-content`.`uri-id` = `item`.`uri-id`";
}
if (strpos($sql_commands, "`item-delivery-data`.") !== false) {
$joins .= " LEFT JOIN `item-delivery-data` ON `item-delivery-data`.`iid` = `item`.`id`";
if (strpos($sql_commands, "`post-delivery-data`.") !== false) {
$joins .= " LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `item`.`uri-id` AND `item`.`origin`";
}
if (strpos($sql_commands, "`permissionset`.") !== false) {
@ -850,7 +850,7 @@ class Item
$selected[] = 'internal-user-ignored';
}
$legacy_fields = array_merge(ItemDeliveryData::LEGACY_FIELD_LIST, self::MIXED_CONTENT_FIELDLIST);
$legacy_fields = array_merge(Post\DeliveryData::LEGACY_FIELD_LIST, self::MIXED_CONTENT_FIELDLIST);
$selection = [];
foreach ($fields as $table => $table_fields) {
@ -936,7 +936,7 @@ class Item
}
}
$delivery_data = ItemDeliveryData::extractFields($fields);
$delivery_data = Post\DeliveryData::extractFields($fields);
$clear_fields = ['bookmark', 'type', 'author-name', 'author-avatar', 'author-link', 'owner-name', 'owner-avatar', 'owner-link', 'postopts', 'inform'];
foreach ($clear_fields as $field) {
@ -1038,7 +1038,7 @@ class Item
}
}
ItemDeliveryData::update($item['id'], $delivery_data);
Post\DeliveryData::update($item['uri-id'], $delivery_data);
self::updateThread($item['id']);
@ -1118,7 +1118,7 @@ class Item
{
Logger::info('Mark item for deletion by id', ['id' => $item_id, 'callstack' => System::callstack()]);
// locate item to be deleted
$fields = ['id', 'uri', 'uid', 'parent', 'parent-uri', 'origin',
$fields = ['id', 'uri', 'uri-id', 'uid', 'parent', 'parent-uri', 'origin',
'deleted', 'file', 'resource-id', 'event-id', 'attach',
'verb', 'object-type', 'object', 'target', 'contact-id',
'icid', 'iaid', 'psid'];
@ -1202,7 +1202,7 @@ class Item
self::markForDeletion(['uri' => $item['uri'], 'uid' => 0, 'deleted' => false], $priority);
}
ItemDeliveryData::delete($item['id']);
Post\DeliveryData::delete($item['uri-id']);
// We don't delete the item-activity here, since we need some of the data for ActivityPub
@ -1903,7 +1903,8 @@ class Item
self::insertContent($item);
}
$delivery_data = ItemDeliveryData::extractFields($item);
$postfields = $item;
$delivery_data = Post\DeliveryData::extractFields($postfields);
unset($item['postopts']);
unset($item['inform']);
@ -2007,7 +2008,7 @@ class Item
}
if (!empty($item['origin']) || !empty($item['wall']) || !empty($delivery_data['postopts']) || !empty($delivery_data['inform'])) {
ItemDeliveryData::insert($current_post, $delivery_data);
Post\DeliveryData::insert($item['uri-id'], $delivery_data);
}
DBA::commit();

View file

@ -19,12 +19,12 @@
*
*/
namespace Friendica\Model;
namespace Friendica\Model\Post;
use Friendica\Database\DBA;
use \BadMethodCallException;
class ItemDeliveryData
class DeliveryData
{
const LEGACY_FIELD_LIST = [
// Legacy fields moved from item table
@ -55,7 +55,7 @@ class ItemDeliveryData
public static function extractFields(array &$fields)
{
$delivery_data = [];
foreach (array_merge(ItemDeliveryData::FIELD_LIST, ItemDeliveryData::LEGACY_FIELD_LIST) as $key => $field) {
foreach (array_merge(self::FIELD_LIST, self::LEGACY_FIELD_LIST) as $key => $field) {
if (is_int($key) && isset($fields[$field])) {
// Legacy field moved from item table
$delivery_data[$field] = $fields[$field];
@ -71,16 +71,16 @@ class ItemDeliveryData
}
/**
* Increments the queue_done for the given item ID.
* Increments the queue_done for the given URI ID.
*
* Avoids racing condition between multiple delivery threads.
*
* @param integer $item_id
* @param integer $uri_id
* @param integer $protocol
* @return bool
* @throws \Exception
*/
public static function incrementQueueDone($item_id, $protocol = 0)
public static function incrementQueueDone(int $uri_id, int $protocol = 0)
{
$sql = '';
@ -102,69 +102,69 @@ class ItemDeliveryData
break;
}
return DBA::e('UPDATE `item-delivery-data` SET `queue_done` = `queue_done` + 1' . $sql . ' WHERE `iid` = ?', $item_id);
return DBA::e('UPDATE `post-delivery-data` SET `queue_done` = `queue_done` + 1' . $sql . ' WHERE `uri-id` = ?', $uri_id);
}
/**
* Increments the queue_failed for the given item ID.
* Increments the queue_failed for the given URI ID.
*
* Avoids racing condition between multiple delivery threads.
*
* @param integer $item_id
* @param integer $uri_id
* @return bool
* @throws \Exception
*/
public static function incrementQueueFailed($item_id)
public static function incrementQueueFailed(int $uri_id)
{
return DBA::e('UPDATE `item-delivery-data` SET `queue_failed` = `queue_failed` + 1 WHERE `iid` = ?', $item_id);
return DBA::e('UPDATE `post-delivery-data` SET `queue_failed` = `queue_failed` + 1 WHERE `uri-id` = ?', $uri_id);
}
/**
* Increments the queue_count for the given item ID.
* Increments the queue_count for the given URI ID.
*
* @param integer $item_id
* @param integer $uri_id
* @param integer $increment
* @return bool
* @throws \Exception
*/
public static function incrementQueueCount(int $item_id, int $increment = 1)
public static function incrementQueueCount(int $uri_id, int $increment = 1)
{
return DBA::e('UPDATE `item-delivery-data` SET `queue_count` = `queue_count` + ? WHERE `iid` = ?', $increment, $item_id);
return DBA::e('UPDATE `post-delivery-data` SET `queue_count` = `queue_count` + ? WHERE `uri-id` = ?', $increment, $uri_id);
}
/**
* Insert a new item delivery data entry
* Insert a new URI delivery data entry
*
* @param integer $item_id
* @param integer $uri_id
* @param array $fields
* @return bool
* @throws \Exception
*/
public static function insert($item_id, array $fields)
public static function insert(int $uri_id, array $fields)
{
if (empty($item_id)) {
throw new BadMethodCallException('Empty item_id');
if (empty($uri_id)) {
throw new BadMethodCallException('Empty URI_id');
}
$fields['iid'] = $item_id;
$fields['uri-id'] = $uri_id;
return DBA::insert('item-delivery-data', $fields);
return DBA::insert('post-delivery-data', $fields);
}
/**
* Update/Insert item delivery data
* Update/Insert URI delivery data
*
* If you want to update queue_done, please use incrementQueueDone instead.
*
* @param integer $item_id
* @param integer $uri_id
* @param array $fields
* @return bool
* @throws \Exception
*/
public static function update($item_id, array $fields)
public static function update(int $uri_id, array $fields)
{
if (empty($item_id)) {
throw new BadMethodCallException('Empty item_id');
if (empty($uri_id)) {
throw new BadMethodCallException('Empty URI_id');
}
if (empty($fields)) {
@ -172,22 +172,22 @@ class ItemDeliveryData
return true;
}
return DBA::update('item-delivery-data', $fields, ['iid' => $item_id], true);
return DBA::update('post-delivery-data', $fields, ['uri-id' => $uri_id], true);
}
/**
* Delete item delivery data
* Delete URI delivery data
*
* @param integer $item_id
* @param integer $uri_id
* @return bool
* @throws \Exception
*/
public static function delete($item_id)
public static function delete(int $uri_id)
{
if (empty($item_id)) {
throw new BadMethodCallException('Empty item_id');
if (empty($uri_id)) {
throw new BadMethodCallException('Empty URI_id');
}
return DBA::delete('item-delivery-data', ['iid' => $item_id]);
return DBA::delete('post-delivery-data', ['uri-id' => $uri_id]);
}
}