feat: add authz schema definition files - #445
Conversation
|
Thanks for the pull request, @rodmgwgu! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. DetailsWhere can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
5480556 to
cca7c2f
Compare
Adds the course and library role/permission schema YAML files under openedx_authz/authz/. Part 2 of the schema loading pipeline stack.
Relocate the four platform-default schema files into openedx_authz/authz/schema and drop the .authz filename infix. Update the schema-provider entry point resource paths and the test that pins them. No loader/discovery implementation is included; get_schema_resources still returns individual resource paths.
7a47780 to
3c127c1
Compare
BryanttV
left a comment
There was a problem hiding this comment.
Code looks good! I just wanted to note that we should probably include the .yaml files in the MANIFEST.in to prevent them from being excluded from the final package.
Added, had that on the next PR in the stack but forgot to put it here too, thanks! |
Problem
The schema loading pipeline needs the actual authorization schema definitions (course and library roles/permissions) available in the package before the loader can consume them.
Approach
Adds the schema YAML files under
openedx_authz/authz/schema/:course_roles.yaml,course_permissions.yamllibrary_roles.yaml,library_permissions.yamlget_schema_resourcesinterface implemented inopenedx_authz/authz/__init__.pyRollback plan
Additive-only (new files under a new package dir). Revert the commit to remove them; nothing else references these files until PR 3 lands.
AI Usage
Kiro was used to translate the existing roles and permissions, using the existing descriptions in the frontend code over the policy definition as source of truth, with human guidance and validation.
Stack (2/3):
rod/authz-schema-adr)rod/authz-schema-loader— schema loading pipeline (base: this branch)Merge checklist: