Permissions Overview
All permissions in Fluree are governed by smart functions. Smart functions can be attached to predicates, collections, or rules. Smart function are triggered by certain features of a transaction.
In the case of smart functions attached to rules, those smart functions are triggered based on who is issuing a given transaction.
If all of the smart functions triggered by a transaction return true
, then the transaction is considered valid.
If even one of the triggered smart functions returns false
, the transaction is rejected.
Every ledger comes with two built in smart functions, ["_fn/name", "true"]
and ["_fn/name", "false"]
, which return true
and false
, respectively.
In this section of lessons, we won't cover how to write more complicated smart functions. We will just refer to smart functions are returning true
or false
, because smart function in the context of permissions should only return true
or false
.
This section of lessons corresponds to the Rules section of the docs.