Skip to content

fix(account-management): register user_update in the permission catalog - #4433

Merged
Artifizer merged 1 commit into
constructorfabric:mainfrom
fluiderson:am
Aug 9, 2026
Merged

Artifizer merged 1 commit into
constructorfabric:mainfrom
fluiderson:am

Conversation

@fluiderson

@fluiderson fluiderson commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Added authorization support for updating users.
    • Tenant-user listing now supports standard $filter and $orderby query parameters.
    • Documented supported filtering and sorting fields.
  • Bug Fixes

    • Point lookups now require id eq <uuid>, limit=1, and no cursor.
    • Removed the obsolete dedicated user_id query parameter and unsupported $top alternative.
  • Tests

    • Added validation to ensure declared permissions and service actions remain synchronized.

@fluiderson
fluiderson requested a review from diffora August 6, 2026 10:22
@code-ranker-app

code-ranker-app Bot commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

code-ranker report for this PR (built on fork): https://reports.code-ranker.com/lkigqErRFr1J9figIHDYoQ/

@coderabbitai

coderabbitai Bot commented Aug 6, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 55607d61-34e5-439d-8287-33274d5ea502

📥 Commits

Reviewing files that changed from the base of the PR and between 59030d2 and 22d9255.

📒 Files selected for processing (6)
  • gears/system/account-management/account-management/src/domain/conversion/service.rs
  • gears/system/account-management/account-management/src/domain/metadata/service.rs
  • gears/system/account-management/account-management/src/domain/tenant/service/mod.rs
  • gears/system/account-management/account-management/src/domain/user/service.rs
  • gears/system/account-management/account-management/src/gts/permissions.rs
  • gears/system/account-management/docs/account-management-v1.yaml
🚧 Files skipped from review as they are similar to previous changes (6)
  • gears/system/account-management/account-management/src/domain/conversion/service.rs
  • gears/system/account-management/docs/account-management-v1.yaml
  • gears/system/account-management/account-management/src/domain/metadata/service.rs
  • gears/system/account-management/account-management/src/domain/tenant/service/mod.rs
  • gears/system/account-management/account-management/src/gts/permissions.rs
  • gears/system/account-management/account-management/src/domain/user/service.rs

📝 Walkthrough

Walkthrough

The change adds test-only action vocabularies, registers the user_update permission, and validates permission catalog coverage. It also updates tenant-user listing documentation to use OData filters and ordering.

Changes

Permission catalog validation

Layer / File(s) Summary
Aggregate service action vocabularies
gears/system/account-management/account-management/src/domain/*/service*
Test-only actions::ALL collections aggregate conversion, metadata, tenant, and user actions.
Permission registration and drift validation
gears/system/account-management/account-management/src/gts/permissions.rs
Registers user_update, updates expected permission IDs, and compares enforced service actions with declared permission payloads.

Tenant-user API contract

Layer / File(s) Summary
OData tenant-user listing contract
gears/system/account-management/docs/account-management-v1.yaml
Tenant-user point lookups now use id eq <uuid>, require limit=1, reject cursors, and use standard $filter and $orderby parameters. The UserIdFilter component is removed.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: diffora

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: registering the user_update permission in the account-management permission catalog.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.72727% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...nagement/account-management/src/gts/permissions.rs 97.72% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@fluiderson

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@Artifizer
Artifizer merged commit fa4c7f0 into constructorfabric:main Aug 9, 2026
27 checks passed
@fluiderson
fluiderson deleted the am branch August 9, 2026 10:41
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.

3 participants