Skip to content

feat(frontier): add SetProjectMemberRole RPC#456

Merged
whoAbhishekSah merged 1 commit intomainfrom
feat/set-project-member-role
Apr 2, 2026
Merged

feat(frontier): add SetProjectMemberRole RPC#456
whoAbhishekSah merged 1 commit intomainfrom
feat/set-project-member-role

Conversation

@whoAbhishekSah
Copy link
Copy Markdown
Member

@whoAbhishekSah whoAbhishekSah commented Mar 27, 2026

Summary

  • Add SetProjectMemberRole RPC for atomic role assignment on project members
  • Add request/response message definitions with UUID validation

Related: raystack/frontier#1461

🤖 Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fc6e811f-8e98-4a97-b706-6db54e062ab0

📥 Commits

Reviewing files that changed from the base of the PR and between 5a189cc and 22a0b96.

📒 Files selected for processing (1)
  • raystack/frontier/v1beta1/frontier.proto
✅ Files skipped from review due to trivial changes (1)
  • raystack/frontier/v1beta1/frontier.proto

📝 Walkthrough

Walkthrough

Added a new RPC method SetProjectMemberRole to raystack.frontier.v1beta1.FrontierService in frontier.proto. The RPC accepts SetProjectMemberRoleRequest with project_id (UUID), principal_id (UUID), principal_type (non-empty string), and role_id (UUID) (all with validation annotations) and returns an empty SetProjectMemberRoleResponse. No other RPCs or existing messages were changed.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant FrontierService
    participant RoleStore
    participant Database

    Client->>FrontierService: SetProjectMemberRole(request)
    FrontierService->>RoleStore: Validate request & authorize caller
    RoleStore->>Database: Upsert member-role for project (project_id, principal_id, principal_type, role_id)
    Database-->>RoleStore: Persisted
    RoleStore-->>FrontierService: Acknowledgment
    FrontierService-->>Client: SetProjectMemberRoleResponse
Loading

Suggested reviewers

  • rsbh
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: adding a new SetProjectMemberRole RPC to the FrontierService.
Description check ✅ Passed The description is directly related to the changeset, mentioning the SetProjectMemberRole RPC addition and UUID validation implementation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

@whoAbhishekSah whoAbhishekSah force-pushed the feat/set-project-member-role branch 3 times, most recently from f51485d to c56df54 Compare March 30, 2026 09:16
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

The latest Buf updates on your PR. Results from workflow Validate / validate (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped✅ passed✅ passedApr 1, 2026, 6:26 AM

@whoAbhishekSah whoAbhishekSah force-pushed the feat/set-project-member-role branch from c56df54 to 5a189cc Compare April 1, 2026 06:24
Support user, service user, and group principals via principal_id
and principal_type fields.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@whoAbhishekSah whoAbhishekSah force-pushed the feat/set-project-member-role branch from 5a189cc to 22a0b96 Compare April 1, 2026 06:26
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@raystack/frontier/v1beta1/frontier.proto`:
- Around line 2063-2068: The validation options on SetProjectMemberRoleRequest
are using the wrong extension (validate.rules); update each field to use the
buf.validate.field extension like the SetOrganizationMemberRoleRequest example:
replace occurrences such as [(validate.rules).string.uuid = true] with
[(buf.validate.field).string.uuid = true] for project_id, principal_id and
role_id, and replace [(validate.rules).string.min_len = 1] with
[(buf.validate.field).string.min_len = 1] for principal_type so the proto uses
buf.validate.field for all field validations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d16751c9-86b4-4eb6-903a-7280dd01528e

📥 Commits

Reviewing files that changed from the base of the PR and between c56df54 and 5a189cc.

📒 Files selected for processing (1)
  • raystack/frontier/v1beta1/frontier.proto

@whoAbhishekSah whoAbhishekSah merged commit dd903ff into main Apr 2, 2026
3 checks passed
@whoAbhishekSah whoAbhishekSah deleted the feat/set-project-member-role branch April 2, 2026 04:50
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.

2 participants