Skip to content

Add authorization organization roles support#549

Open
csrbarber wants to merge 2 commits intofeature/ent-4799-workos-python-permissionsfrom
feature/ent-4799-workos-python-org-roles
Open

Add authorization organization roles support#549
csrbarber wants to merge 2 commits intofeature/ent-4799-workos-python-permissionsfrom
feature/ent-4799-workos-python-org-roles

Conversation

@csrbarber
Copy link
Contributor

Description

Add CRUD operations for organization roles including create, list, get, update, set/add/remove permissions on the authorization module.

Documentation

Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.

[X] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

Add CRUD operations for organization roles including create, list, get,
update, set/add/remove permissions on the authorization module.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@csrbarber csrbarber requested a review from a team as a code owner February 13, 2026 15:42
@csrbarber csrbarber requested review from jonatascastro12 and removed request for a team February 13, 2026 15:42
@linear
Copy link

linear bot commented Feb 13, 2026

ENT-4799 workos-python

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 13, 2026

Greptile Overview

Greptile Summary

This PR adds comprehensive CRUD operations for organization roles in the authorization module, including create, list, get, update, and permission management (set/add/remove). The implementation follows established patterns from the permissions feature, maintaining consistency with sync/async implementations, proper type definitions using Pydantic models, and comprehensive test coverage for all operations.

Confidence Score: 5/5

  • This PR is safe to merge with no issues found
  • Clean implementation following existing patterns, comprehensive test coverage, proper type safety, no security concerns, and consistent with the codebase's architecture
  • No files require special attention

Important Files Changed

Filename Overview
workos/authorization.py Added 7 organization role CRUD methods mirroring permission patterns with sync/async implementations
workos/types/authorization/organization_role.py Defined OrganizationRole and OrganizationRoleList models using Pydantic with proper type hints
tests/test_authorization.py Added 7 comprehensive tests covering all organization role operations with proper assertions

Sequence Diagram

sequenceDiagram
    participant Client
    participant Authorization
    participant HTTPClient
    participant API

    Note over Client,API: Create Organization Role
    Client->>Authorization: create_organization_role(org_id, slug, name)
    Authorization->>HTTPClient: POST /authorization/organizations/{org_id}/roles
    HTTPClient->>API: HTTP Request
    API-->>HTTPClient: 201 Created
    HTTPClient-->>Authorization: Response JSON
    Authorization-->>Client: OrganizationRole

    Note over Client,API: Manage Role Permissions
    Client->>Authorization: add_organization_role_permission(org_id, slug, permission_slug)
    Authorization->>HTTPClient: POST /authorization/organizations/{org_id}/roles/{slug}/permissions
    HTTPClient->>API: HTTP Request
    API-->>HTTPClient: 200 OK
    HTTPClient-->>Authorization: Response JSON
    Authorization-->>Client: OrganizationRole

    Client->>Authorization: set_organization_role_permissions(org_id, slug, permissions)
    Authorization->>HTTPClient: PUT /authorization/organizations/{org_id}/roles/{slug}/permissions
    HTTPClient->>API: HTTP Request
    API-->>HTTPClient: 200 OK
    HTTPClient-->>Authorization: Response JSON
    Authorization-->>Client: OrganizationRole
Loading

Last reviewed commit: 35ba44e

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

5 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant