refactor(iam): extract helpers from delete_user, update_user, create_access_key#323
Merged
vieiralucas merged 1 commit intomainfrom Apr 13, 2026
Merged
Conversation
…access_key Three IAM user mutations were carrying enough inline detail to obscure their top-level intent. - delete_user: the four 'cannot delete with X attached' guards (access keys, group membership, managed policies, inline policies) each produced their own DeleteConflict with a different remediation hint. Move the four checks into ensure_user_can_be_deleted so the delete_user body reads as 'check the entity exists, ensure it can be removed, then drop the rows from each keyed-by-username state map'. - update_user: the rename branch laboriously rewrote five different state maps plus group memberships in line. Move that into rename_user_references so update_user only handles the user record itself; rename_user_references is a single helper that knows about every user-keyed state map and is the place to extend if a new one is added. - create_access_key: the UserName parameter is optional, and the fallback (look up the calling user via their access key id) was taking up half the function. Move it into resolve_create_access_key_target so the operation body just resolves the target user, runs the limit check, and persists the new key. No behavior change.
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.
Summary
Three IAM user mutations were carrying enough inline detail to obscure their top-level intent.
No behavior change. Same lock semantics, same error messages.
Test plan
Summary by cubic
Extracted helpers from IAM user mutations to simplify the code and make intent clear. No behavior changes; errors and locking remain the same.
Written for commit 607bd45. Summary will update on new commits.