Files
k-frame/crates/domain/src/ports/broadcast.rs
Gabriel Kaszewski e398c240a0 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.
2026-06-18 22:47:38 +02:00

19 lines
475 B
Rust

use std::future::Future;
use crate::entities::WidgetId;
use crate::value_objects::{Layout, WidgetState};
pub trait BroadcastPort {
type Error;
fn push_screen_update(
&self,
layout: &Layout,
widgets: &[(WidgetId, WidgetState)],
) -> impl Future<Output = Result<(), Self::Error>> + Send;
fn push_data_update(
&self,
updates: &[(WidgetId, WidgetState)],
) -> impl Future<Output = Result<(), Self::Error>> + Send;
}