add config-sqlite and http-api adapters
SQLite config store: full ConfigRepository impl with JSON serialization for mappings, layouts, data source configs. 12 integration tests. HTTP API: Axum REST endpoints for widgets, data sources, layout, presets. 6 integration tests using tower::oneshot. Port traits updated to return Send futures for Axum compatibility.
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
use std::future::Future;
|
||||
use crate::entities::WidgetId;
|
||||
use crate::value_objects::{Layout, WidgetState};
|
||||
|
||||
pub trait BroadcastPort {
|
||||
type Error;
|
||||
|
||||
async fn push_screen_update(
|
||||
fn push_screen_update(
|
||||
&self,
|
||||
layout: &Layout,
|
||||
widgets: &[(WidgetId, WidgetState)],
|
||||
) -> Result<(), Self::Error>;
|
||||
) -> impl Future<Output = Result<(), Self::Error>> + Send;
|
||||
|
||||
async fn push_data_update(
|
||||
fn push_data_update(
|
||||
&self,
|
||||
updates: &[(WidgetId, WidgetState)],
|
||||
) -> Result<(), Self::Error>;
|
||||
) -> impl Future<Output = Result<(), Self::Error>> + Send;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user