code wiki / _hdl_build / nx_connect_album.nx
nx_connect_album.nx
buildroot/runtime/_hdl_build/nx_connect_album.nx
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
imports: nx_suite_share.nx
imported by: nx_album_probe.nxnx_connect_album_gate.nxnx_connect_appd.nx
structs
| none |
consts
| 16 | const AL_MAXOUT: i64 = 64 |
| 17 | const AL_UNAUTH: i64 = 0 |
| 56 | const AL_R_CONTAINS: *u8 = "contains\x00" |
functions
| 19 | func al_cat(dst: *u8, off: i64, s: *u8) -> i64 { return rb_cat(dst, off, s) } |
| 20 | func al_num(dst: *u8, off: i64, v: i64) -> i64 { return rb_catn(dst, off, v) } called by 1: al_ok_n |
| 24 | func al_err(out: *u8, why: *u8) -> i64 |
| 32 | func al_ok_n(out: *u8, field: *u8, v: i64) -> i64 |
| 43 | func al_reason(rc: i64, out: *u8) -> i64 |
| 61 | func al_no_item(item: *u8) -> i64 called by 1: al_do |
| 66 | func al_item_obj(item: *u8, out: *u8) -> i64 |
| 73 | func al_do(prefix: *u8, verb: *u8, actor: i64, subject: i64, kind: *u8, id: i64, item: *u8, out: *u8, cap: i64) -> i64 |