tables-api

Who may reach which rows of a declared table. The routes that will serve them are not built yet.

With cargo

cargo add cratefield-tables-api

What it is

tables-api.

The HTTP API over the tables a venture declares in its manifest's [tables] section (issue #153), with the access level each one declares.

From the crate’s own README.

Status

What is above is in the repository. The routes are Designed in issue #153, and unbuilt.

Read more

History

Changelog.

From the crate’s CHANGELOG.md in the harness, as of 0c5560b. 3 versions recorded, newest first. Every published version is on crates.io.

  1. 0.1.2

    crates.ioReleaseDiff

    Other

    • updated the following local packages: cratefield-core, cratefield-tables
  2. 0.1.1

    crates.ioRelease

    Other

    • updated the following local packages: cratefield-core
1 earlier version 0.1.0
  1. 0.1.0

    crates.io

    Added

    • tables-api a composite key gets its single-row routes at /{table}/__by (#153) (#475)
    • tables-api ?sort= on the page route and in a batch read (#383)
    • tables-api several declared reads in one request (#381)
    • tables order a page by a declared column (#380)
    • tables filter a page, and fix the nullable column it uncovered (#378)
    • tables-api serve the writes the surface already publishes (#374)
    • a venture publishes the tables it declares (#372)
    • tables-api writing a declared table, with ownership enforced (#369)

    Fixed

    • tables-api publish cratefield-tables-api so the facade can package (#787)
    • core ERRORS.md covers every crate's problem slugs, and a duplicate slug fails CI (#419) (#552)
    • tables-api tenant-members fails closed where membership cannot be checked (#385) (#424)
    • the manifest's vocabularies are checked against the types they mirror (#404)
    • tables-api a conflict is the engine's phrase, not the word "unique" (#393)
    • a subject column must be able to hold a caller's id (#391)
    • tables a json column is not filterable, in either path (#390)
    • tables a filter for a null asks IS NULL, not = NULL (#389)
    • tables-api a composite-key table publishes only the routes it has (#387) (#388)
    • tables-api the cursor the server hands back is one it accepts (#379)

    Other

    • Scheduled work runs on a cooperative per-module budget, with a budget-aware Outbox drain (#537) (#543)
    • /__surface publishes an output schema for table reads, so public-read rows can be typed (#517)
    • Close four existence oracles: signup timing, owner-table conflicts, passkey issuance, Stripe signature compare (#487)
    • adr a composite key is addressed by query, not by path (#387) (#422)
    • two names that point at nothing (#410)
    • tables-api a declared table's redaction and anonymisation are real (#397)
    • tenant-members admits any verified caller, and say so (#385) (#386)
    • a writable declared table does not make a venture demand a captcha (#377)
    • a declared table's privacy block reaches export and erasure (#375)
    • The generated module serves the tables it declares (#370)
    • The routes, so a declared table is actually reachable (#368)
    • Reading a declared table, with the access level applied (#366)
    • The decision about who reaches whose rows (#364)

One of 76 crates in the harness, all of them MIT and all of them in one repository.