Skip to content

Help modeling #386

Answered by rhamzeh
pelmato asked this question in Q&A
Nov 20, 2024 · 1 comments · 1 reply
Discussion options

You must be logged in to vote

Hi @pelmato

OpenFGA acts like a directed graph, if you want the feature you're asking for you need to add a relation from the org back to the user to allow traversal going the opposite direction, for example:

model
  schema 1.1

type user
  relations
    define org: [organization]
    define canRead: isMember from org or isAdmin from org
    define canWrite: isAdmin from org

type organization
  relations
    define parent: [organization]
    define directMember: [user]
    define directAdmin: [user]
    define isMember: directMember or directAdmin or isMember from parent
    define isAdmin: directAdmin or isAdmin from parent
    define canReadOrg: isMember
    define canWriteOrg: isAdmin

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@pelmato
Comment options

Answer selected by pelmato
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants