edc_dataplane_proxy/web/
state.rs

1use edc_dataplane_core::core::service::transfer::TransferService;
2
3use crate::service::{edr::EdrManager, refresh::RefreshManager, token::TokenManager};
4
5#[derive(Clone)]
6pub struct Context<T: TokenManager + Clone> {
7    transfers: TransferService,
8    tokens: T,
9    refresh_manager: RefreshManager<T>,
10}
11
12impl<T: TokenManager + Clone> Context<T> {
13    pub fn new(transfers: TransferService, tokens: T, refresh_manager: RefreshManager<T>) -> Self {
14        Self {
15            transfers,
16            tokens,
17            refresh_manager,
18        }
19    }
20
21    pub fn transfers(&self) -> &TransferService {
22        &self.transfers
23    }
24
25    pub fn tokens(&self) -> &T {
26        &self.tokens
27    }
28
29    pub fn refresh_manager(&self) -> &RefreshManager<T> {
30        &self.refresh_manager
31    }
32
33    pub fn edrs(&self) -> &EdrManager<T> {
34        &self.refresh_manager.edrs
35    }
36}