Skip to main content

longbridge/screener/
types.rs

1#![allow(missing_docs)]
2
3use serde::{Deserialize, Serialize};
4
5// ── screener_recommend_strategies ─────────────────────────────────
6
7/// Response for [`crate::ScreenerContext::screener_recommend_strategies`]
8///
9/// The raw data contains a list of recommended built-in screener
10/// strategies.  The exact structure varies so the payload is
11/// preserved as raw JSON.
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct ScreenerRecommendStrategiesResponse {
14    /// Raw recommended strategies data
15    pub data: serde_json::Value,
16}
17
18// ── screener_user_strategies ──────────────────────────────────────
19
20/// Response for [`crate::ScreenerContext::screener_user_strategies`]
21///
22/// The raw data contains the current user's saved screener strategies.
23/// The exact structure varies so the payload is preserved as raw JSON.
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct ScreenerUserStrategiesResponse {
26    /// Raw user strategies data
27    pub data: serde_json::Value,
28}
29
30// ── screener_strategy ─────────────────────────────────────────────
31
32/// Response for [`crate::ScreenerContext::screener_strategy`]
33///
34/// The raw data contains detail for one screener strategy.
35/// The exact structure varies so the payload is preserved as raw JSON.
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct ScreenerStrategyResponse {
38    /// Raw strategy detail data
39    pub data: serde_json::Value,
40}
41
42// ── screener_search ───────────────────────────────────────────────
43
44/// Response for [`crate::ScreenerContext::screener_search`]
45///
46/// The raw data contains a page of screened security results.
47/// The exact structure varies so the payload is preserved as raw JSON.
48#[derive(Debug, Clone, Serialize, Deserialize)]
49pub struct ScreenerSearchResponse {
50    /// Raw screener search results
51    pub data: serde_json::Value,
52}
53
54// ── screener_indicators ───────────────────────────────────────────
55
56/// Response for [`crate::ScreenerContext::screener_indicators`]
57///
58/// The raw data contains all available screener indicator definitions.
59/// The exact structure varies so the payload is preserved as raw JSON.
60#[derive(Debug, Clone, Serialize, Deserialize)]
61pub struct ScreenerIndicatorsResponse {
62    /// Raw indicator definitions
63    pub data: serde_json::Value,
64}