-
Notifications
You must be signed in to change notification settings - Fork 44
feat: Add permissions support #1456
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/ent-4798-workos-node-organization-roles
Are you sure you want to change the base?
feat: Add permissions support #1456
Conversation
Greptile OverviewGreptile SummaryThis PR adds comprehensive CRUD (Create, Read, Update, Delete, List) operations for permissions to the Authorization module, mirroring the existing patterns for environment roles and organization roles. Key changes:
The implementation follows established conventions in the codebase and includes proper type safety throughout. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client
participant Authorization
participant WorkOS API
Note over Client,WorkOS API: Create Permission
Client->>Authorization: createPermission(options)
Authorization->>Authorization: serializeCreatePermissionOptions(options)
Authorization->>WorkOS API: POST /authorization/permissions
WorkOS API-->>Authorization: PermissionResponse
Authorization->>Authorization: deserializePermission(data)
Authorization-->>Client: Permission
Note over Client,WorkOS API: List Permissions
Client->>Authorization: listPermissions(options?)
Authorization->>WorkOS API: GET /authorization/permissions?query
WorkOS API-->>Authorization: PermissionListResponse
Authorization->>Authorization: map(deserializePermission)
Authorization-->>Client: PermissionList
Note over Client,WorkOS API: Get Permission
Client->>Authorization: getPermission(slug)
Authorization->>WorkOS API: GET /authorization/permissions/{slug}
WorkOS API-->>Authorization: PermissionResponse
Authorization->>Authorization: deserializePermission(data)
Authorization-->>Client: Permission
Note over Client,WorkOS API: Update Permission
Client->>Authorization: updatePermission(slug, options)
Authorization->>Authorization: serializeUpdatePermissionOptions(options)
Authorization->>WorkOS API: PATCH /authorization/permissions/{slug}
WorkOS API-->>Authorization: PermissionResponse
Authorization->>Authorization: deserializePermission(data)
Authorization-->>Client: Permission
Note over Client,WorkOS API: Delete Permission
Client->>Authorization: deletePermission(slug)
Authorization->>WorkOS API: DELETE /authorization/permissions/{slug}
WorkOS API-->>Authorization: 204 No Content
Authorization-->>Client: void
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 files reviewed, no comments
| export interface ListPermissionsOptions { | ||
| before?: string; | ||
| after?: string; | ||
| limit?: number; | ||
| order?: 'asc' | 'desc'; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can extend PaginationOptions here.
Description
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.