Visitor visits each typeName, relationName and builds up a collection of potentialy matching symbols.
model
schema 1.1
type user
type team
relations
define member: [user,team#member]
type repo
relations
define admin: [user,team#member] or repo_admin from owner
define maintainer: [user,team#member] or admin
define owner: [organization]
define reader: [user,team#member] or triager or repo_reader from owner
define triager: [user,team#member] or writer
define writer: [user,team#member] or maintainer or repo_writer from owner
type organization
relations
define member: [user] or owner
define owner: [user]
define repo_admin: [user,organization#member]
define repo_reader: [user,organization#member]
define repo_writer: [user,organization#member]
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected
Description
Visitor visits each typeName, relationName and builds up a collection of potentialy matching symbols.
Returns;
This could be built into the validation call to save time, or kept separate and only invoked after a successful validation.
Additional work needs to be done to make type restrictions contextual. Currently every restriction is added a sset.
References
Review Checklist
main