[PLUGIN][ActivityPub] Simplify DB usage
This commit is contained in:
@@ -25,7 +25,9 @@ namespace Plugin\RepeatNote\Controller;
|
||||
|
||||
use App\Core\Controller;
|
||||
use App\Core\DB\DB;
|
||||
use App\Core\Event;
|
||||
use App\Core\Form;
|
||||
use App\Entity\Actor;
|
||||
use function App\Core\I18n\_m;
|
||||
use App\Core\Log;
|
||||
use App\Core\Router\Router;
|
||||
@@ -71,8 +73,10 @@ class Repeat extends Controller
|
||||
|
||||
$form_add_to_repeat->handleRequest($request);
|
||||
if ($form_add_to_repeat->isSubmitted()) {
|
||||
\Plugin\RepeatNote\RepeatNote::repeatNote(note: $note, actor_id: $actor_id);
|
||||
$repeat_activity = \Plugin\RepeatNote\RepeatNote::repeatNote(note: $note, actor_id: $actor_id);
|
||||
DB::flush();
|
||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $repeat_activity, [], _m('{nickname} repeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $repeat_activity->getObjectId()])]);
|
||||
|
||||
|
||||
// Redirect user to where they came from
|
||||
// Prevent open redirect
|
||||
@@ -127,8 +131,9 @@ class Repeat extends Controller
|
||||
|
||||
$form_remove_repeat->handleRequest($request);
|
||||
if ($form_remove_repeat->isSubmitted()) {
|
||||
if (!\is_null(\Plugin\RepeatNote\RepeatNote::unrepeatNote(note_id: $note_id, actor_id: $actor_id))) {
|
||||
if (!\is_null($undo_repeat_activity = \Plugin\RepeatNote\RepeatNote::unrepeatNote(note_id: $note_id, actor_id: $actor_id))) {
|
||||
DB::flush();
|
||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $undo_repeat_activity, [], _m('{nickname} unrepeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $note_id])]);
|
||||
} else {
|
||||
throw new ClientException(_m('Note wasn\'t repeated!'));
|
||||
}
|
||||
|
@@ -110,11 +110,6 @@ class RepeatNote extends NoteHandlerPlugin
|
||||
]);
|
||||
DB::persist($repeat_activity);
|
||||
|
||||
// Flush before notification
|
||||
DB::flush();
|
||||
|
||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $repeat_activity, [], _m('{nickname} repeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $repeat_activity->getObjectId()])]);
|
||||
|
||||
return $repeat_activity;
|
||||
}
|
||||
|
||||
@@ -165,8 +160,6 @@ class RepeatNote extends NoteHandlerPlugin
|
||||
]);
|
||||
DB::persist($undo_repeat_activity);
|
||||
|
||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $undo_repeat_activity, [], _m('{nickname} unrepeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $note_id])]);
|
||||
|
||||
return $undo_repeat_activity;
|
||||
} else {
|
||||
// Either was undoed already
|
||||
@@ -397,9 +390,15 @@ class RepeatNote extends NoteHandlerPlugin
|
||||
}
|
||||
|
||||
if ($type_activity->get('type') === 'Announce') {
|
||||
$activity = self::repeatNote($note ?? Note::getById($note_id), $actor->getId(), source: 'ActivityPub');
|
||||
if (!\is_null($activity = self::repeatNote($note ?? Note::getById($note_id), $actor->getId(), source: 'ActivityPub'))) {
|
||||
DB::flush();
|
||||
Event::handle('NewNotification', [$actor, $activity, [], _m('{nickname} repeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $activity->getObjectId()])]);
|
||||
}
|
||||
} else {
|
||||
$activity = self::unrepeatNote($note_id, $actor->getId(), source: 'ActivityPub');
|
||||
if (!\is_null($activity = self::unrepeatNote($note_id, $actor->getId(), source: 'ActivityPub'))) {
|
||||
DB::flush();
|
||||
Event::handle('NewNotification', [$actor, $activity, [], _m('{nickname} unrepeated note {note_id}.', ['{nickname}' => $actor->getNickname(), '{note_id}' => $note_id])]);
|
||||
}
|
||||
}
|
||||
if (!\is_null($activity)) {
|
||||
// Store ActivityPub Activity
|
||||
|
Reference in New Issue
Block a user