pub trait RequestExecutor<C>where
C: ApiClient,{
type Error: Error + Send + Sync;
// Required methods
fn execute<'life0, 'life1, 'async_trait, A>(
&'life0 self,
client: &'life1 C,
request: ApiRequest<A>,
id: Option<String>
) -> Pin<Box<dyn Future<Output = Result<ApiResponse, Self::Error>> + Send + 'async_trait>>
where A: ApiSelection + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn execute_many<'life0, 'life1, 'async_trait, A, I>(
&'life0 self,
client: &'life1 C,
request: ApiRequest<A>,
ids: Vec<I>
) -> Pin<Box<dyn Future<Output = HashMap<I, Result<ApiResponse, Self::Error>>> + Send + 'async_trait>>
where A: ApiSelection + 'async_trait,
I: ToString + Hash + Eq + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}