[Task] v1 publishing push: align operation naming with design (push/remove/pushremove)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Context
Surfaced by the Publishing Queue migration spike (#36039).
There's a naming mismatch between the new portlet design and the backend contract for the Configure & send action.
| Design surface | Backend (PushBundleForm.operation at PublishingResource:703) |
|---|---|
push |
publish |
remove |
expire |
pushremove |
publishexpire |
The FE can map at the boundary, but the inconsistency leaks into logs and API documentation. The audit also noted that the Bundle entity persists operation as an ordinal integer, while the form accepts strings — adding to the confusion.
Proposed change
Two options, low urgency — pick one:
-
Backend renames. Accept both naming sets in
PushBundleForm.operation(case-insensitive aliases:push|publish,remove|expire,pushremove|publishexpire). New canonical names are the design ones (push/remove/pushremove). Document the legacy aliases as deprecated. -
Documented mapping. Keep the BE names, document the mapping clearly in the OpenAPI description for
PushBundleForm, and add a code-level constant on the FE side that the entire codebase routes through.
Spike recommendation: option 1 — small, low risk, removes a category of bugs.
Acceptance criteria
POST /v1/publishing/push/{bundleId}accepts both naming sets- OpenAPI updated with the canonical names + legacy aliases marked deprecated
- Bundle entity continues to store the integer ordinal correctly regardless of which alias was sent
- Integration test covers both alias forms
Source links
- Spike audit: #36039
- FE consumer: #36040 (Configure & send modal)
- Epic: #34734
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at PushBundleForm.operation in PublishingResource around line 703, then inspect how the Bundle entity stores its operation ordinal. Review the spike recommendation in #36039 and the OpenAPI description before choosing an approach. Done means both naming sets work for the publishing endpoint, the canonical and deprecated names are documented, ordinal storage remains correct, and integration coverage exercises both alias forms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, openapi
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100