OxL Reference

kw unless

Contextual keyword — policy (§13.4)

The list of words: §1.4

Syntax

ebnf
Rule        = ( "allow" | "deny" ) ( "*" | RTarget { "," RTarget } ) ( "if" | "unless" ) Expr ;

Grammar: App. A

Defined in

Examples

oxl
policy Orders {
  allow get(id)        if caller.isUser(db.find(Order, id)?.userId)
  allow list, recent   if caller.has(role: .Support)
  allow *              if caller.service("billing")
  deny  delete         unless caller.has(role: .Admin) && caller is .User(mfa: true, ..)
}

@public rpc health() -> Ok
@allow(role: .Admin) rpc purge() -> Ok
@internal rpc create(…) -> Order

— 13.4 Authorisation and policies

Related diagnostics

data-rights, missing-policy, unknown-policy-target

See also