Authz.matches: def of bend-kit-authz@0.1.0.0 Import: import bend-kit-authz@0.1.0.0/authz.bend as Authz Lines 95-117 of bend-kit-authz@0.1.0.0/authz.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-authz@0.1.0.0/authz.bend&start_line=95&end_line=117 import Base def matches(t: Target, +req: Request) -> Tri: match t: case Everyone{}: Yes{} case Nobody{}: No{} case Action{name}: Request{s, r, o, action, resource} = req tri(String.eq(action, name)) case Resource{name}: Request{s, r, o, action, resource} = req tri(String.eq(resource, name)) case Subject{name}: Request{s, r, o, action, resource} = req subject.is(name, s) case Role{name}: Request{s, r, o, action, resource} = req role.is(name, r) case Owner{}: Request{s, r, o, action, resource} = req owner.of(s, o) case AllOf{a, b}: all(matches(a, req), matches(b, req)) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.eq https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=Request https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=Target https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=Tri https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=all https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=owner.of https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=role.is https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=subject.is https://jend.leeeet.dev/definition.txt?path=bend-kit-authz@0.1.0.0/authz.bend&name=tri