Skip to content
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

Implement Admin APIs for managing permissions #110

Open
mikelax opened this issue Jun 14, 2024 · 0 comments
Open

Implement Admin APIs for managing permissions #110

mikelax opened this issue Jun 14, 2024 · 0 comments
Labels
component: admin Administration related functionality enhancement New feature or request

Comments

@mikelax
Copy link
Collaborator

mikelax commented Jun 14, 2024

Feature Overview

Is your feature request related to a problem? Please describe.
As an admin usher user, I would like to have APIs available to manage Permissions. Some of the APIs are already implemented, this issue should complete the missing APIs.

API Design

Status URL Auth Params Notes
GET /clients/client_id/permissions bearerAdminAuth client_id optional: query param List Permissions
TODO GET /clients/client_id/permissions/:permission_key bearerAdminAuth permission key: path, required Get a Permission
POST /clients/client_id/permissions bearerAdminAuth Permission attributes: body Create a new Permission
TODO PATCH /clients/client_id/permissions/:permission_key bearerAdminAuth Permission name and/or description: body Update existing Permission
TODO DELETE /clients/client_id/permissions/:permission_key bearerAdminAuth permission key: path, required Delete a Permission

Implementation Notes

  • The source files should be placed in the src/api_endpoints/permissions folder.
  • For the Create Permission API, the clientkey attribute should be optional
  • The Permission object should return both client key and the client id attributes

Questions

  1. Should the PATCH API to update a permission allow for updating a client key? I can see arguments for either case. Maybe we say no to start to keep things simple? As if you want to "move" a permission from one client to another is really not a common use case , or one we want to support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: admin Administration related functionality enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant