Skip to main content Svelte Highlight v7.23.1

OpenFGA language preview

1. A document-sharing model

owners, editors, and viewers, with owner implying access
horizon-dark
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor
atom-one-dark
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor
github-dark
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor
dracula
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor
nord
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor
github
model
  schema 1.1

type user

type document
  relations
    define owner: [user]
    define editor: [user] or owner
    define viewer: [user] or editor

2. An organization with team-based access

relations resolved through a related object with from
horizon-dark
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team
atom-one-dark
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team
github-dark
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team
dracula
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team
nord
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team
github
model
  schema 1.1

type user

type team
  relations
    define member: [user]

type project
  relations
    define team: [team]
    define viewer: [user] or member from team

3. Typed wildcards and an exclusion rule

a public viewer relation with an explicit blocked list
horizon-dark
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked
atom-one-dark
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked
github-dark
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked
dracula
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked
nord
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked
github
model
  schema 1.1

type user

type document
  relations
    define blocked: [user]
    define viewer: [user, user:*] but not blocked