Extract Item::prepareOriginPost() into ItemInserter

This commit is contained in:
Art4 2025-01-09 20:57:39 +00:00
parent 9b9432090b
commit 61a975bf36
2 changed files with 36 additions and 9 deletions

View file

@ -843,14 +843,6 @@ class Item
return self::GRAVITY_UNKNOWN; // Should not happen
}
private static function prepareOriginPost(array $item): array
{
$item = DI::contentItem()->initializePost($item);
$item = DI::contentItem()->finalizePost($item, false);
return $item;
}
/**
* Inserts item record
*
@ -861,6 +853,8 @@ class Item
*/
public static function insert(array $item, int $notify = 0, bool $post_local = true): int
{
$itemInserter = new ItemInserter(DI::contentItem());
$orig_item = $item;
$priority = Worker::PRIORITY_HIGH;
@ -869,7 +863,7 @@ class Item
// If it is a posting where users should get notifications, then define it as wall posting
if ($notify) {
$item = self::prepareOriginPost($item);
$item = $itemInserter->prepareOriginPost($item);
if (is_int($notify) && in_array($notify, Worker::PRIORITIES)) {
$priority = $notify;

View file

@ -0,0 +1,33 @@
<?php
// Copyright (C) 2010-2024, the Friendica project
// SPDX-FileCopyrightText: 2010-2024 the Friendica project
//
// SPDX-License-Identifier: AGPL-3.0-or-later
namespace Friendica\Model;
use Friendica\Content\Item as ItemContent;
/**
* A helper class for inserting an Item Model
*
* @see Item::insert()
*/
final class ItemInserter
{
private ItemContent $itemContent;
public function __construct(ItemContent $itemContent)
{
$this->itemContent = $itemContent;
}
public function prepareOriginPost(array $item): array
{
$item = $this->itemContent->initializePost($item);
$item = $this->itemContent->finalizePost($item, false);
return $item;
}
}