From c48e22c078ee55640b3453ebd3c4b18c8f9a078c Mon Sep 17 00:00:00 2001 From: Samir Talwar Date: Tue, 20 Aug 2024 17:14:38 +0200 Subject: [PATCH] Hide state fields behind methods. --- crates/sdk/src/default_main.rs | 14 +++++++------- crates/sdk/src/state.rs | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/crates/sdk/src/default_main.rs b/crates/sdk/src/default_main.rs index 1ba7d27..5bceede 100644 --- a/crates/sdk/src/default_main.rs +++ b/crates/sdk/src/default_main.rs @@ -355,7 +355,7 @@ fn auth_handler( } async fn get_metrics(State(state): State>) -> Result { - fetch_metrics::(&state.configuration, &state.state, &state.metrics) + fetch_metrics::(state.configuration(), state.state(), state.metrics()) } async fn get_capabilities() -> JsonResponse { @@ -368,41 +368,41 @@ async fn get_capabilities() -> JsonResponse } async fn get_health_readiness(State(state): State>) -> Result<()> { - C::get_health_readiness(&state.configuration, &state.state).await + C::get_health_readiness(state.configuration(), state.state()).await } async fn get_schema( State(state): State>, ) -> Result> { - C::get_schema(&state.configuration).await + C::get_schema(state.configuration()).await } async fn post_query_explain( State(state): State>, WithRejection(Json(request), _): WithRejection, JsonRejection>, ) -> Result> { - C::query_explain(&state.configuration, &state.state, request).await + C::query_explain(state.configuration(), state.state(), request).await } async fn post_mutation_explain( State(state): State>, WithRejection(Json(request), _): WithRejection, JsonRejection>, ) -> Result> { - C::mutation_explain(&state.configuration, &state.state, request).await + C::mutation_explain(state.configuration(), state.state(), request).await } async fn post_mutation( State(state): State>, WithRejection(Json(request), _): WithRejection, JsonRejection>, ) -> Result> { - C::mutation(&state.configuration, &state.state, request).await + C::mutation(state.configuration(), state.state(), request).await } async fn post_query( State(state): State>, WithRejection(Json(request), _): WithRejection, JsonRejection>, ) -> Result> { - C::query(&state.configuration, &state.state, request).await + C::query(state.configuration(), state.state(), request).await } #[cfg(feature = "ndc-test")] diff --git a/crates/sdk/src/state.rs b/crates/sdk/src/state.rs index e612e85..9d01417 100644 --- a/crates/sdk/src/state.rs +++ b/crates/sdk/src/state.rs @@ -2,9 +2,9 @@ use crate::connector::Connector; #[derive(Debug)] pub struct ServerState { - pub configuration: C::Configuration, - pub state: C::State, - pub metrics: prometheus::Registry, + configuration: C::Configuration, + state: C::State, + metrics: prometheus::Registry, } impl Clone for ServerState @@ -33,4 +33,16 @@ impl ServerState { metrics, } } + + pub fn configuration(&self) -> &C::Configuration { + &self.configuration + } + + pub fn state(&self) -> &C::State { + &self.state + } + + pub fn metrics(&self) -> &prometheus::Registry { + &self.metrics + } }