refactor(post): remove now-dead PostAction::AlreadyPublished
UpdatePost::execute used to return AlreadyPublished for the Published short-circuit. This PR widened the short-circuit to four terminal statuses and consolidated them under PostAction::Finalized — so the old enum case stopped being emitted, and every caller already had a defensive in_array([AlreadyPublished, Finalized], ...). Audit before removal: nothing emits AlreadyPublished anymore (only UpdatePost::execute returns Actions, and it returns Finalized for the whole terminal set), no test references the case, and no string 'already_published' exists elsewhere in app/resources/tests/lang. - Drop the enum case - Simplify the three in_array checks to a direct === Finalized - Delete the dead App/PostController branch that flashed the old cannot_edit_published message (its successor branch with cannot_edit_finalized stays). The old i18n key is left in lang/ for now — orphan but harmless, can ressuscitate if a similar flash is added back.
This commit is contained in:
parent
27f27b6683
commit
edec58af81
5 changed files with 3 additions and 11 deletions
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
enum Action: string
|
||||
{
|
||||
case AlreadyPublished = 'already_published';
|
||||
case Finalized = 'finalized';
|
||||
case Publishing = 'publishing';
|
||||
case Scheduled = 'scheduled';
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public function update(UpdatePostRequest $request, Post $post): PostResource|Jso
|
|||
|
||||
$result = UpdatePost::execute($request->user()->currentWorkspace, $post, $request->validated());
|
||||
|
||||
if (in_array(data_get($result, 'action'), [PostAction::AlreadyPublished, PostAction::Finalized], true)) {
|
||||
if (data_get($result, 'action') === PostAction::Finalized) {
|
||||
return response()->json(
|
||||
['message' => 'Cannot edit a published post.'],
|
||||
Response::HTTP_UNPROCESSABLE_ENTITY
|
||||
|
|
|
|||
|
|
@ -282,13 +282,6 @@ public function update(UpdatePostRequest $request, Post $post): RedirectResponse
|
|||
|
||||
$action = data_get($result, 'action');
|
||||
|
||||
if ($action === PostAction::AlreadyPublished) {
|
||||
session()->flash('flash.banner', __('posts.flash.cannot_edit_published'));
|
||||
session()->flash('flash.bannerStyle', 'danger');
|
||||
|
||||
return back();
|
||||
}
|
||||
|
||||
if ($action === PostAction::Finalized) {
|
||||
session()->flash('flash.banner', __('posts.flash.cannot_edit_finalized'));
|
||||
session()->flash('flash.bannerStyle', 'danger');
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public function handle(Request $request): Response|ResponseFactory
|
|||
'scheduled_at' => $scheduledAt,
|
||||
]);
|
||||
|
||||
if (in_array(data_get($result, 'action'), [PostAction::AlreadyPublished, PostAction::Finalized], true)) {
|
||||
if (data_get($result, 'action') === PostAction::Finalized) {
|
||||
return Response::error('Post is already published or in a terminal state.');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public function handle(Request $request): Response|ResponseFactory
|
|||
|
||||
$result = UpdatePost::execute($workspace, $post, $payload);
|
||||
|
||||
if (in_array(data_get($result, 'action'), [PostAction::AlreadyPublished, PostAction::Finalized], true)) {
|
||||
if (data_get($result, 'action') === PostAction::Finalized) {
|
||||
return Response::error('Cannot edit a published post.');
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue