code wiki / _hdl_build / nx_connect_album.nx

nx_connect_album.nx

buildroot/runtime/_hdl_build/nx_connect_album.nx

9230 B183 linesdepth 8pulls 10 transitivereach 3 importersview sourcekind librarytopic connect
docsdependenciesstructsconstsfunctions

about

nx_connect_album.nx -- the family suite's sharing API as a VERB DISPATCHER over nx_suite_share, which is itself a facade over nx_rebac. One dispatcher, no parsing, no permission logic of its own. WHY THIS SHAPE. The daemon already owns request parsing (cd_req_path, cs_form_get) and nx_rebac already owns the permission rule. If this file re-did either, it would be the third time this lane produced a second copy of something that already existed -- so it does neither. It takes ALREADY-PARSED arguments, asks the one plane, and serialises the answer. That also makes it gate-able standalone: a gate can drive every verb without standing up a socket, which is why the teeth below are cheap enough to be exhaustive. The daemon's job at the call site is two lines: parse, then call al_do. Auth is NOT optional here -- `actor` must already be a resolved OPAQUE account id, and 0 means signed-out, which every mutating verb refuses. A route that trusts a caller-supplied identity is not auth-gated, it is decorated. license_tier: ORIGINAL

dependencies 1 imports · 3 importers

nx_suite_share.nx nx_connect_album.nx nx_album_probe.nx nx_connect_album_gate.nx nx_connect_appd.nx

imports: nx_suite_share.nx

imported by: nx_album_probe.nxnx_connect_album_gate.nxnx_connect_appd.nx

structs

none

consts

16const AL_MAXOUT: i64 = 64
17const AL_UNAUTH: i64 = 0
56const AL_R_CONTAINS: *u8 = "contains\x00"

functions

19func al_cat(dst: *u8, off: i64, s: *u8) -> i64 { return rb_cat(dst, off, s) }
20func al_num(dst: *u8, off: i64, v: i64) -> i64 { return rb_catn(dst, off, v) }
called by 1: al_ok_n
24func al_err(out: *u8, why: *u8) -> i64
called by 2: al_reasonal_do calls 1: al_cat
32func al_ok_n(out: *u8, field: *u8, v: i64) -> i64
called by 1: al_do calls 2: al_catal_num
43func al_reason(rc: i64, out: *u8) -> i64
called by 1: al_do calls 1: al_err
61func al_no_item(item: *u8) -> i64
called by 1: al_do
66func al_item_obj(item: *u8, out: *u8) -> i64
called by 2: mainal_do calls 1: al_cat
73func al_do(prefix: *u8, verb: *u8, actor: i64, subject: i64, kind: *u8, id: i64, item: *u8, out: *u8, cap: i64) -> i64