edc_dataplane_proxy/web/
state.rs1use 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}