polix.policy
Policy definition and management.
Provides the defpolicy macro for defining declarative policies and the Policy record for representing compiled policies.
defpolicy
macro
(defpolicy name & args)Defines a policy with a name, optional docstring, and policy expression.
A policy is a declarative rule that evaluates to boolean true/false. The macro parses the policy expression into an AST and extracts the required document schema.
Examples:
(defpolicy MyPolicy
"Optional docstring"
[:= :doc/actor-role "admin"])
(defpolicy AnotherPolicy
[:or [:= :doc/role "admin"]
[:= :doc/role "user"]])
Returns a def form that creates a Policy record, or throws on parse error.