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

debugging serviceEndpoint casing lksdfjlkasdj

Changed files
+20 -7
pocket
src
reflector
src
+19 -7
pocket/src/server.rs
··· 94 verifier: TokenVerifier, 95 } 96 97 #[OpenApi] 98 impl Xrpc { 99 /// com.bad-example.pocket.getPreferences 100 /// 101 /// get stored bluesky prefs 102 #[oai( 103 - path = "/com.bad-example.pocket.getPreferences", 104 method = "get", 105 tag = "ApiTags::Pocket" 106 )] ··· 156 #[derive(Debug, Clone, Serialize)] 157 struct AppViewDoc { 158 id: String, 159 - service: [AppViewService; 1], 160 } 161 /// Serve a did document for did:web for this to be an xrpc appview 162 fn get_did_doc(domain: &str) -> impl Endpoint + use<> { 163 let doc = poem::web::Json(AppViewDoc { 164 id: format!("did:web:{domain}"), 165 - service: [AppViewService { 166 - id: "#pocket_prefs".to_string(), 167 - r#type: "PocketPreferences".to_string(), 168 - service_endpoint: format!("https://{domain}"), 169 - }], 170 }); 171 make_sync(move |_| doc.clone()) 172 }
··· 94 verifier: TokenVerifier, 95 } 96 97 + // app.bsky.actor.getPreferences 98 + // com.bad-example.pocket.getPreferences 99 + 100 #[OpenApi] 101 impl Xrpc { 102 /// com.bad-example.pocket.getPreferences 103 /// 104 /// get stored bluesky prefs 105 #[oai( 106 + path = "/app.bsky.actor.getPreferences", 107 method = "get", 108 tag = "ApiTags::Pocket" 109 )] ··· 159 #[derive(Debug, Clone, Serialize)] 160 struct AppViewDoc { 161 id: String, 162 + service: [AppViewService; 2], 163 } 164 /// Serve a did document for did:web for this to be an xrpc appview 165 fn get_did_doc(domain: &str) -> impl Endpoint + use<> { 166 let doc = poem::web::Json(AppViewDoc { 167 id: format!("did:web:{domain}"), 168 + service: [ 169 + AppViewService { 170 + id: "#pocket_prefs".to_string(), 171 + // id: "#bsky_appview".to_string(), 172 + r#type: "PocketPreferences".to_string(), 173 + service_endpoint: format!("https://{domain}"), 174 + }, 175 + AppViewService { 176 + id: "#bsky_appview".to_string(), 177 + // id: "#bsky_appview".to_string(), 178 + r#type: "BlueskyAppview".to_string(), 179 + service_endpoint: format!("https://{domain}"), 180 + }, 181 + ], 182 }); 183 make_sync(move |_| doc.clone()) 184 }
+1
reflector/src/main.rs
··· 20 } 21 22 #[derive(Debug, Clone, Serialize)] 23 struct DidService { 24 id: String, 25 r#type: String,
··· 20 } 21 22 #[derive(Debug, Clone, Serialize)] 23 + #[serde(rename_all = "camelCase")] 24 struct DidService { 25 id: String, 26 r#type: String,