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

oops fix the server query handling

apparently axum doesn't like multi-value query strings because serde doesn't or something..

comma-sep is gross but hey it's working

Changed files
+7 -3
constellation
src
server
+7 -3
constellation/src/server/mod.rs
···
collection: String,
path: String,
cursor: Option<OpaqueApiCursor>,
-
did: Vec<String>,
+
from_dids: Option<String>, // comma separated: gross
limit: Option<u64>,
// TODO: allow reverse (er, forward) order as well
}
···
return Err(http::StatusCode::BAD_REQUEST);
}
-
let filter_dids = HashSet::from_iter(query.did.iter().map(|d| Did(d.to_string())));
+
let filter_dids = &query
+
.from_dids
+
.clone()
+
.map(|comma_joined| HashSet::from_iter(comma_joined.split(',').map(|d| Did(d.to_string()))))
+
.unwrap_or_default();
let paged = store
.get_links(
···
&query.path,
limit,
until,
-
&filter_dids,
+
filter_dids,
)
.map_err(|_| http::StatusCode::INTERNAL_SERVER_ERROR)?;