Skip to content

Refactor role-based access control#42

Merged
moutonjeremy merged 12 commits intomainfrom
feat-add-required-roles-check
Mar 13, 2026
Merged

Refactor role-based access control#42
moutonjeremy merged 12 commits intomainfrom
feat-add-required-roles-check

Conversation

@moutonjeremy
Copy link
Member

Enhance route authorization by implementing declarative role checks using RequiredRoles. Introduce the WithRoles helper function for appending roles, validate roles in the input parsing, and update OpenAPI specifications to include required roles. Add comprehensive tests for the new functionality.

Copilot AI review requested due to automatic review settings March 13, 2026 16:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors route authorization to support declarative role checks via OpenAPIOptions.RequiredRoles, adds a WithRoles helper, and exposes required roles in generated OpenAPI as an extension.

Changes:

  • Add RequiredRoles to OpenAPIOptions and a WithRoles(...) helper for composing role requirements.
  • Enforce required roles during request parsing/authorization and include x-required-roles in the generated OpenAPI operation objects.
  • Add tests validating role enforcement and OpenAPI extension output; update the auth example to use declarative roles.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
types.go Adds RequiredRoles to operation options and modernizes some interface{} types to any.
fiberoapi.go Emits x-required-roles OpenAPI extension per operation.
common.go Invokes role validation during request parsing when authorization is enabled.
auth.go Introduces validateRequiredRoles helper for role enforcement.
auth_helpers.go Adds WithRoles helper for appending required roles.
auth_test.go Adds tests for role enforcement and OpenAPI extension emission.
_examples/auth/main.go Updates example routes to use RequiredRoles/RequiredPermissions instead of manual checks.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@moutonjeremy moutonjeremy merged commit bb7c4e3 into main Mar 13, 2026
4 checks passed
@moutonjeremy moutonjeremy deleted the feat-add-required-roles-check branch March 13, 2026 17:13
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