Line data Source code
1 : use compute_api::responses::ComputeStatusResponse;
2 :
3 : use crate::compute::ComputeState;
4 :
5 : pub(in crate::http) mod check_writability;
6 : pub(in crate::http) mod configure;
7 : pub(in crate::http) mod database_schema;
8 : pub(in crate::http) mod dbs_and_roles;
9 : pub(in crate::http) mod extension_server;
10 : pub(in crate::http) mod extensions;
11 : pub(in crate::http) mod failpoints;
12 : pub(in crate::http) mod grants;
13 : pub(in crate::http) mod info;
14 : pub(in crate::http) mod insights;
15 : pub(in crate::http) mod installed_extensions;
16 : pub(in crate::http) mod metrics;
17 : pub(in crate::http) mod metrics_json;
18 : pub(in crate::http) mod status;
19 : pub(in crate::http) mod terminate;
20 :
21 : impl From<&ComputeState> for ComputeStatusResponse {
22 0 : fn from(state: &ComputeState) -> Self {
23 0 : ComputeStatusResponse {
24 0 : start_time: state.start_time,
25 0 : tenant: state
26 0 : .pspec
27 0 : .as_ref()
28 0 : .map(|pspec| pspec.tenant_id.to_string()),
29 0 : timeline: state
30 0 : .pspec
31 0 : .as_ref()
32 0 : .map(|pspec| pspec.timeline_id.to_string()),
33 0 : status: state.status,
34 0 : last_active: state.last_active,
35 0 : error: state.error.clone(),
36 0 : }
37 0 : }
38 : }
|