tangled
alpha
login
or
join now
hotsocket.fyi
/
microcosm-rs
forked from
microcosm.blue/microcosm-rs
0
fork
atom
Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
0
fork
atom
overview
issues
pulls
pipelines
debugging serviceEndpoint casing lksdfjlkasdj
bad-example.com
6 months ago
4e0bca48
d42f70cf
+20
-7
2 changed files
expand all
collapse all
unified
split
pocket
src
server.rs
reflector
src
main.rs
+19
-7
pocket/src/server.rs
···
94
verifier: TokenVerifier,
95
}
96
0
0
0
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
-
}],
0
0
0
0
0
0
0
0
0
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)]
0
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,