add backend for history
This commit is contained in:
@@ -94,7 +94,8 @@ impl CoreTelemetryService {
|
||||
let Some(ref uuid) = tlm_item.uuid else {
|
||||
return Err(Status::failed_precondition("UUID Missing"));
|
||||
};
|
||||
let Some(tlm_data) = tlm_management.get_by_uuid(&uuid.value) else {
|
||||
let tlm_management_pin = tlm_management.pin();
|
||||
let Some(tlm_data) = tlm_management_pin.get_by_uuid(&uuid.value) else {
|
||||
return Err(Status::not_found("Telemetry Item Not Found"));
|
||||
};
|
||||
|
||||
@@ -110,7 +111,7 @@ impl CoreTelemetryService {
|
||||
Value::Float32(_) => TelemetryDataType::Float32,
|
||||
Value::Float64(_) => TelemetryDataType::Float64,
|
||||
};
|
||||
if expected_type != tlm_data.definition.data_type {
|
||||
if expected_type != tlm_data.data.definition.data_type {
|
||||
return Err(Status::failed_precondition("Data Type Mismatch"));
|
||||
};
|
||||
|
||||
@@ -119,13 +120,15 @@ impl CoreTelemetryService {
|
||||
return Err(Status::invalid_argument("Failed to construct UTC DateTime"));
|
||||
};
|
||||
|
||||
let _ = tlm_data.data.send_replace(Some(TelemetryDataItem {
|
||||
value: match value {
|
||||
Value::Float32(x) => TelemetryDataValue::Float32(x),
|
||||
Value::Float64(x) => TelemetryDataValue::Float64(x),
|
||||
},
|
||||
let value = match value {
|
||||
Value::Float32(x) => TelemetryDataValue::Float32(x),
|
||||
Value::Float64(x) => TelemetryDataValue::Float64(x),
|
||||
};
|
||||
let _ = tlm_data.data.data.send_replace(Some(TelemetryDataItem {
|
||||
value: value.clone(),
|
||||
timestamp: timestamp.to_rfc3339_opts(SecondsFormat::Millis, true),
|
||||
}));
|
||||
tlm_data.history.insert(tlm_management.history_service(), value, timestamp);
|
||||
|
||||
Ok(TelemetryInsertResponse {})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user