Stop discarding status changes and answering 200

Fixkamo-shared-library
Shipped
August 26, 2026 at 7:42 AM UTC
Author
Kamo
Commit
d46fb10

updateWorkOrder parsed the requested status inside catch (Exception ignored), saved the entity unchanged, and returned 200 with a DTO showing the old value. The work-order screen offers seven statuses, FulfillmentStatus has four, so five of seven transitions were silent no-ops the UI reported as successes. POSController already had the IllegalArgumentException -> 400 handler that catch was defeating; the throw now names the accepted values, because that message is what a dispatcher actually reads. ServiceJobStatusMachine puts the transition table in one place, under test. The UI carries the same table twice in .tsx and its bulk-edit bar bypasses both. SW6 wires it to the endpoint.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing