initial frontend pages

This commit is contained in:
2025-01-25 10:34:45 -08:00
parent 62384a3430
commit 44523f3cdb
8 changed files with 130 additions and 37 deletions

View File

@@ -21,6 +21,14 @@ async fn get_tlm_definition(
Ok(web::Json(data.definition.clone()))
}
#[get("/tlm/info")]
async fn get_all_tlm_definitions(
data: web::Data<Arc<TelemetryManagementService>>,
) -> Result<impl Responder, HttpServerResultError> {
trace!("get_all_tlm_definitions");
Ok(web::Json(data.get_all_definitions()))
}
#[derive(Deserialize)]
struct HistoryQuery {
from: String,
@@ -71,5 +79,8 @@ async fn get_tlm_history(
}
pub fn setup_api(cfg: &mut web::ServiceConfig) {
cfg.service(get_tlm_definition).service(get_tlm_history);
cfg
.service(get_all_tlm_definitions)
.service(get_tlm_definition)
.service(get_tlm_history);
}

View File

@@ -146,6 +146,14 @@ impl TelemetryManagementService {
.cloned()
}
pub fn get_all_definitions(&self) -> Vec<TelemetryDefinition> {
let tlm_data = self.tlm_data.pin();
tlm_data
.values()
.map(|x| x.data.definition.clone())
.collect()
}
pub fn pin(&self) -> TelemetryManagementServicePin {
TelemetryManagementServicePin {
tlm_data: self.tlm_data.pin(),