Backend: update custom role (metadata + permissions) endpoints
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start with ADR #469 for the endpoint definitions, then read the custom-roles model in #561 and the audit requirements in #587/#588. Implement both metadata and permission updates with transactional Casbin p row updates, enforcing superuser access, standard-role rejection, and dependency closure. Done means the acceptance cases pass, including rename, permission add/remove, dependency side effects, and audit events.
Written by the indexing model from the issue text.
Description
Implement the update custom role endpoints defined in the ADR (#469):
- Metadata update — rename and edit the description (backs the inline pencil #578).
- Permission add/remove — change the role's granted permissions (backs the editable Permissions tab #577), applying dependency closure.
Both persist via the custom-roles model (#561) and re-render the affected Casbin p rows in the same transaction. Superuser-only. Standard roles are not editable (ADR 0021).
Acceptance
- Metadata update enforces name uniqueness; description free-text stored as entered (not localized).
- Permission add/remove updates role-permission +
prows transactionally; dependency closure enforced server-side. - Superuser-only; standard roles rejected.
- Audit events recorded (see #587/#588); tests for rename, add-permission, remove-permission, and dependency side-effects.
- Dominant language
- Python
- Stars
- 0
- Forks
- 10
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 20
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openedx/openedx-authz
-
willow
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
openedx/openedx-authz#579 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 15/100
openedx/openedx-authz#593 ·
Maintainers usually reply within 1 day
-
willow
Difficulty 4/5 3-5 days Newbie friendliness 48/100
openedx/openedx-authz#589 ·
Maintainers usually reply within 1 day
-
willow
Difficulty 5/5 Over a week Newbie friendliness 35/100
openedx/openedx-authz#588 ·
Maintainers usually reply within 1 day
-
willow
Difficulty 5/5 Over a week Newbie friendliness 35/100
openedx/openedx-authz#587 ·
Maintainers usually reply within 1 day
All issues in openedx/openedx-authz
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
QuantConnect/Documentation#2838 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
awslabs/route53-dynamic-dns-with-lambda#67 · 1 comment ·
-
`SubAgents` returns a child run's `DeferredToolRequests` to the parent as a successful tool resultOpenbug pkg:harness
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
pydantic/pydantic-ai#12405 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
good first issue help wanted
Difficulty 1/5 Under an hour Newbie friendliness 82/100