switchgear_service/offer/
state.rs

1use jsonwebtoken::DecodingKey;
2use switchgear_service_api::offer::{OfferMetadataStore, OfferStore};
3
4#[derive(Clone)]
5pub struct OfferState<S, M> {
6    offer_store: S,
7    metadata_store: M,
8    auth_authority: DecodingKey,
9    max_page_size: usize,
10}
11
12impl<S, M> OfferState<S, M>
13where
14    S: OfferStore,
15    M: OfferMetadataStore,
16{
17    pub fn new(
18        offer_store: S,
19        metadata_store: M,
20        auth_authority: DecodingKey,
21        max_page_size: usize,
22    ) -> Self {
23        Self {
24            offer_store,
25            metadata_store,
26            auth_authority,
27            max_page_size,
28        }
29    }
30
31    pub fn offer_store(&self) -> &S {
32        &self.offer_store
33    }
34
35    pub fn metadata_store(&self) -> &M {
36        &self.metadata_store
37    }
38
39    pub fn auth_authority(&self) -> &DecodingKey {
40        &self.auth_authority
41    }
42
43    pub fn max_page_size(&self) -> usize {
44        self.max_page_size
45    }
46}