fix: add --meta filtering support to client/server list mode
Plumb metadata filter from client CLI through the HTTP API to the server's data_service.list_items(). The server accepts a JSON-encoded meta query parameter where null values mean 'key exists' and string values mean 'exact match'. Also fix LZ4 compression round-trip for client mode: - Explicit flush FrameEncoder before drop to avoid sending only the frame header when compress=false - Send _client_compression metadata so client knows actual compression on retrieval (server records compression=None when compress=false) - Use FrameDecoder (frame format) instead of decompress_size_prepended (size-prepended format) to match server storage format
This commit is contained in:
@@ -16,7 +16,7 @@ pub fn mode(
|
||||
|
||||
// If tags provided, find matching item first
|
||||
let item_ids: Vec<i64> = if !tags.is_empty() {
|
||||
let items = client.list_items(tags, "newest", 0, 1)?;
|
||||
let items = client.list_items(tags, "newest", 0, 1, &std::collections::HashMap::new())?;
|
||||
if items.is_empty() {
|
||||
return Err(anyhow::anyhow!("No items found matching tags: {:?}", tags));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user