Expand description
The HTTP API over a venture’s declared tables (issue #153).
Not a module crate, which is why it is not named like one. A
crates/module-* crate provides a Module and the conformance kit
runs against every one of them; this provides the decision and the
routes that a venture’s generated tables module calls. That module
has to be generated source rather than a library because
personal_data() is &'static all the way down and cannot be
assembled from a manifest read at runtime.
A [tables] declaration already becomes DDL, a module, a privacy
declaration, an access level and the statements that read and write a
row. This is where a request meets them.
Reading the access decision on its own is the point of splitting
access out: it decides who sees whose rows and it has no HTTP in
it, so every case is a value rather than a request.
Re-exports§
pub use access::FORBIDDEN;pub use access::MISDECLARED;pub use access::NO_MEMBERSHIP_FACT;pub use access::NOT_YOURS_TO_GIVE;pub use access::READ_ONLY;pub use access::Reach;pub use access::TableApi;pub use access::UNAUTHENTICATED;pub use access::may_read;pub use access::may_write;pub use access::settle_subject;pub use batch::Batch;pub use batch::MAX_READS;pub use batch::Read;pub use batch::run as run_batch;pub use declared::Declared;pub use declared::parse;pub use read::Asked;pub use read::PAGE;pub use read::Tables;pub use read::one;pub use read::page;pub use routes::BAD_CURSOR;pub use routes::BAD_KEY;pub use routes::COMPOSITE_KEY;pub use routes::Key;pub use routes::NOT_A_KEY_COLUMN;pub use routes::PARTIAL_KEY;pub use routes::cursor_from_query;pub use routes::key_from_path;pub use routes::router;pub use surface::surface;pub use write::ALREADY_EXISTS;pub use write::NOT_A_ROW;pub use write::create;pub use write::remove;pub use write::replace;
Modules§
- access
- Who may reach a declared table’s rows, and which of them (issue #153).
- batch
- Several declared reads in one request (issue #153).
- declared
- The declared tables, as a venture’s generated module carries them (issue #153).
- read
- Reading a declared table’s rows (issue #153).
- routes
- The axum routes over a venture’s declared tables (issue #153).
- surface
- What a venture publishes about the tables it declares (issue #153).
- write
- Writing a declared table’s rows (issue #153).