Skip to main content

ROUTE_CREDENTIALS

Constant ROUTE_CREDENTIALS 

Source
pub const ROUTE_CREDENTIALS: &[(&str, Credential)];
Expand description

Every com.atproto.*, app.bsky.* and bot.did.* method this router serves, and the credential it declares. See the module doc for what each kind means.

This is plan/auth-types.md’s “one extractor, and a per-route declaration of what it accepts”, and it is not written here: it is assembled from routes::ATPROTO_CREDENTIALS, routes::APP_BSKY_CREDENTIALS and routes::BOT_DID_CREDENTIALS, which the xrpc_methods! macro emits from the same entries it builds the router out of. A route therefore cannot exist without a declaration — the macro arm does not accept an entry that omits one — and a declaration cannot outlive the route it names, because deleting the entry deletes both. Neither direction of drift is representable, which is why nothing below is a runtime check.

Where each kind’s reasoning lives: Credential’s variants for what a kind is, this module’s “Why every public route is public” for the three separate reasons a route is Public, and the three macro invocations in routes.rs for which routes take what.