Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm

more doc tweaks

Changed files
+8 -5
slingshot
src
+8 -5
slingshot/src/server.rs
··· 74 74 /// 75 75 /// Slingshot will always return the CID, despite it not being a required 76 76 /// response property in the official lexicon. 77 + /// 78 + /// TODO: probably actually let it be optional, idk are some pds's weirdly 79 + /// not returning it? 77 80 cid: Option<String>, 78 81 /// the record itself as JSON 79 82 value: serde_json::Value, ··· 111 114 /// The only error name in the repo.getRecord lexicon is `RecordNotFound`, 112 115 /// but the [canonical api docs](https://docs.bsky.app/docs/api/com-atproto-repo-get-record) 113 116 /// also list `InvalidRequest`, `ExpiredToken`, and `InvalidToken`. Of 114 - /// these, slingshot will only return `RecordNotFound` or `InvalidRequest`. 117 + /// these, slingshot will only generate `RecordNotFound` or `InvalidRequest`, 118 + /// but may return any proxied error code from the upstream repo. 115 119 #[oai(status = 400)] 116 120 BadRequest(XrpcError), 117 - /// Just using 500 for potentially upstream errors for now 121 + /// Server errors 118 122 #[oai(status = 500)] 119 123 ServerError(XrpcError), 120 124 } ··· 131 135 /// 132 136 /// Get a single record from a repository. Does not require auth. 133 137 /// 134 - /// See https://docs.bsky.app/docs/api/com-atproto-repo-get-record for the 135 - /// canonical XRPC documentation that this endpoint aims to be compatible 136 - /// with. 138 + /// See also the [canonical `com.atproto` XRPC documentation](https://docs.bsky.app/docs/api/com-atproto-repo-get-record) 139 + /// that this endpoint aims to be compatible with. 137 140 #[oai(path = "/com.atproto.repo.getRecord", method = "get")] 138 141 async fn get_record( 139 142 &self,