Personal controller: define the composed isMutable helper the /mutable endpoint calls - #6963
Merged
Conversation
…e endpoint calls
The My template emits the /{id}/mutable pre-check endpoint but only the
power controller template defines isMutable - a personal entity with any
immutability keyword generated a controller that does not compile.
Mirror the power controller's composed helper verbatim.
Fixes #6962
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
EntityMyController.java.templateemits the/{id}/mutableimmutability pre-check endpoint under#if($immutableAlways || $immutableStatusProperty)but never definesisMutable— only the power controller template does. Any entity combiningpersonal:withimmutable:/immutableWhen:/immutableInPeriod:generates a My controller that fails to compile (cannot find symbol: method isMutable).This mirrors the power controller's composed helper verbatim into the same
#if($immutableAlways || $immutableStatusProperty || $periodLock)block that carriesrequireMutable.Verified downstream: regenerating BusinessIntents
base-timesheets(EmployeeTimesheet:personal:+immutableWhen) from a registry-patched 14.36.0 template produces exactly the missing 6-line helper and the module's AOT compile gate goes green.Coverage follow-up (not in this PR):
IntentEmissionCoverageIT's fixtures have no entity combiningpersonal:with an immutability keyword; adding one would catch this class at PR time.Fixes #6962
🤖 Generated with Claude Code