moves code into the api layer

This commit is contained in:
2025-12-30 01:54:39 -05:00
parent 8d737e8f33
commit 29f7f6d83b
14 changed files with 444 additions and 286 deletions

34
api/src/messages/mod.rs Normal file
View File

@@ -0,0 +1,34 @@
pub mod payload;
pub mod telemetry_definition;
pub mod telemetry_entry;
use payload::{RequestMessagePayload, ResponseMessagePayload};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RequestMessage {
pub uuid: Uuid,
pub response: Option<Uuid>,
#[serde(flatten)]
pub payload: RequestMessagePayload,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResponseMessage {
pub uuid: Uuid,
pub response: Option<Uuid>,
#[serde(flatten)]
pub payload: ResponseMessagePayload,
}
pub trait ClientMessage: Into<RequestMessagePayload> {}
pub trait RequestResponse: Into<RequestMessagePayload> {
type Response: TryFrom<ResponseMessagePayload>;
}
// pub trait RegisterCallback {
// type Callback : TryFrom<ResponseMessagePayload>;
// type Response : Into<RequestMessagePayload>;
// }