use super::Kalshi;
use crate::kalshi_error::*;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
impl Kalshi {
pub async fn get_tags_by_categories(
&self,
) -> Result<HashMap<String, Vec<String>>, KalshiError> {
let path = "/search/tags_by_categories";
let res: TagsResponse = self.signed_get(path).await?;
Ok(res.tags_by_category)
}
pub async fn get_sports_filters(&self) -> Result<SportsFilters, KalshiError> {
let path = "/search/sports_filters";
self.signed_get(path).await
}
}
#[derive(Debug, Deserialize)]
struct TagsResponse {
tags_by_category: HashMap<String, Vec<String>>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct SportsFilters {
pub sports: Vec<String>,
pub leagues: Vec<String>,
pub teams: Option<Vec<String>>,
#[serde(flatten)]
pub additional_filters: HashMap<String, serde_json::Value>,
}