unopim/unopim · error · InvalidPublicationTransitionException

Publication {$publication->id} is not published; only a publ

Error message

Publication {$publication->id} is not published; only a published publication can be withdrawn.

What it means

Error "Publication {$publication->id} is not published; only a published publication can be withdrawn." thrown in unopim/unopim.

Source

Thrown at packages/Webkul/Publication/src/Services/Publisher.php:193

            if ($publication->status === PublicationStatus::Draft) {
                $publication->update(['status' => PublicationStatus::Published]);
            }

            DB::afterCommit(fn () => PublicationPublished::dispatch($publication, $version));

            return $version;
        });
    }

    /**
     * Marks the publication Withdrawn. Reversible via reinstate(); throws when the
     * publication is not published, so a redacted one can never be walked back to
     * withdrawn and a no-op withdrawal cannot pass for a real state change.
     */
    public function withdraw(Publication $publication): void
    {
        if ($publication->status !== PublicationStatus::Published) {
            throw new InvalidPublicationTransitionException(
                'Publication '.$publication->id.' is not published; only a published publication can be withdrawn.'
            );
        }

        $publication->update(['status' => PublicationStatus::Withdrawn]);

        DB::afterCommit(fn () => PublicationWithdrawn::dispatch($publication));
    }

    /**
     * Returns a withdrawn publication to Published; throws when not withdrawn, so redaction stays one-way.
     */
    public function reinstate(Publication $publication): void
    {
        if ($publication->status !== PublicationStatus::Withdrawn) {
            throw new InvalidPublicationTransitionException(
                'Publication '.$publication->id.' is not withdrawn; only a withdrawn publication can be reinstated.'
            );

View on GitHub (pinned to c27a402253)

When it happens

Trigger: Thrown at packages/Webkul/Publication/src/Services/Publisher.php:193 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of unopim/unopim@c27a402253 (2026-08-21). Data as JSON: /api/errors/5f4b04d7342352ff. Report an issue: GitHub.