pub trait MarketService: Send + Sync {
// Required methods
fn search_markets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
search_term: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketSearchResult, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketDetails, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_multiple_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epics: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<MarketDetails>, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_historical_prices<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
resolution: &'life3 str,
from: &'life4 str,
to: &'life5 str,
) -> Pin<Box<dyn Future<Output = Result<HistoricalPricesResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait;
fn get_market_navigation<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
) -> Pin<Box<dyn Future<Output = Result<MarketNavigationResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_market_navigation_node<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
node_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketNavigationResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}Expand description
Interface for the market service
Required Methods§
Sourcefn search_markets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
search_term: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketSearchResult, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn search_markets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
search_term: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketSearchResult, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Searches markets by search term
Sourcefn get_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketDetails, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<MarketDetails, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Gets details of a specific market by its EPIC
Sourcefn get_multiple_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epics: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<MarketDetails>, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_multiple_market_details<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epics: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<MarketDetails>, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Gets details of multiple markets by their EPICs in a single request
This method accepts a vector of EPICs and returns a vector of market details. The EPICs are sent as a comma-separated list in a single API request.
§Arguments
session- The active IG sessionepics- A slice of EPICs to get details for
§Returns
A vector of market details in the same order as the input EPICs
Sourcefn get_historical_prices<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
resolution: &'life3 str,
from: &'life4 str,
to: &'life5 str,
) -> Pin<Box<dyn Future<Output = Result<HistoricalPricesResponse, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn get_historical_prices<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
session: &'life1 IgSession,
epic: &'life2 str,
resolution: &'life3 str,
from: &'life4 str,
to: &'life5 str,
) -> Pin<Box<dyn Future<Output = Result<HistoricalPricesResponse, AppError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
Gets historical prices for a market
Gets the top-level market navigation nodes
This method returns the root nodes of the market hierarchy, which can be used to navigate through the available markets.
Gets the market navigation node with the specified ID
This method returns the child nodes and markets under the specified node ID.
§Arguments
node_id- The ID of the navigation node to retrieve