Skip to content

refactor(project): modularize publish workflow services#359

Merged
KurodaKayn merged 3 commits into
mainfrom
refactor/publish-workflow-modules
Jun 20, 2026
Merged

refactor(project): modularize publish workflow services#359
KurodaKayn merged 3 commits into
mainfrom
refactor/publish-workflow-modules

Conversation

@KurodaKayn

Copy link
Copy Markdown
Owner

Title: refactor(project): modularize publish workflow services

Change Description

  • Split the frontend content publish runner out of the page workflow hook.
  • Extract backend project publication, list presentation, and selection helpers into focused modules.
  • Move project experience, content setup, and dashboard list cache responsibilities into child packages while keeping parent service wrappers.

Implementation Approach

  • Added focused project subpackages for cache, content setup, experience, presenter, publication config, and publication selection.
  • Preserved existing service APIs through thin wrappers so handlers and workspace services keep their call sites.
  • Relocated package-specific tests with the modules and kept Redis cache/degrade behavior intact.

Testing

  • golangci-lint run from backend: passed.
  • bash script/ci/backend.sh: passed.
  • bash script/ci/frontend.sh: passed.

The content publish workflow owned the existing-project publish result aggregation inline.

Move that runner into the publish content helper and call it from the workflow.

The hook keeps UI orchestration while publish polling and failure grouping stay reusable.
Project lifecycle had list pagination, publication selection, DTO presentation, and generic text helpers in one package surface.

Move reusable payload, selection, presenter, and rune truncation logic into focused packages while keeping lifecycle orchestration in project.

Callers now depend on narrower modules without changing publish or prepublish behavior.
Project service responsibilities had grown across experience, cache, and content setup concerns.

Move those concerns into focused child packages while keeping the parent service as a compatibility wrapper.

This keeps behavior stable and leaves existing project tests and related service tests passing.
@KurodaKayn KurodaKayn merged commit fdc0a80 into main Jun 20, 2026
15 checks passed
@KurodaKayn KurodaKayn deleted the refactor/publish-workflow-modules branch June 20, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant