webhook through event system, extract data-generators adapter
webhook route now emits WebhookDataReceived event instead of directly mutating DataProjection and broadcasting. event_handler applies data and pushes incremental DataUpdate. clock/static_text generators extracted to data-generators crate behind DataSourcePort. chrono removed from bootstrap. polling adapters grouped into Adapters struct.
This commit is contained in:
@@ -1,17 +1,43 @@
|
||||
use crate::entities::{DataSourceId, LayoutPresetId, WidgetId};
|
||||
use crate::value_objects::{Layout, ThemeConfig};
|
||||
use crate::value_objects::{Layout, ThemeConfig, Value};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum DomainEvent {
|
||||
WidgetCreated { id: WidgetId },
|
||||
WidgetUpdated { id: WidgetId },
|
||||
WidgetDeleted { id: WidgetId },
|
||||
DataSourceAdded { id: DataSourceId },
|
||||
DataSourceUpdated { id: DataSourceId },
|
||||
DataSourceRemoved { id: DataSourceId },
|
||||
LayoutChanged { layout: Layout },
|
||||
ThemeChanged { theme: ThemeConfig },
|
||||
LayoutPresetSaved { id: LayoutPresetId },
|
||||
LayoutPresetLoaded { id: LayoutPresetId },
|
||||
LayoutPresetDeleted { id: LayoutPresetId },
|
||||
WidgetCreated {
|
||||
id: WidgetId,
|
||||
},
|
||||
WidgetUpdated {
|
||||
id: WidgetId,
|
||||
},
|
||||
WidgetDeleted {
|
||||
id: WidgetId,
|
||||
},
|
||||
DataSourceAdded {
|
||||
id: DataSourceId,
|
||||
},
|
||||
DataSourceUpdated {
|
||||
id: DataSourceId,
|
||||
},
|
||||
DataSourceRemoved {
|
||||
id: DataSourceId,
|
||||
},
|
||||
LayoutChanged {
|
||||
layout: Layout,
|
||||
},
|
||||
ThemeChanged {
|
||||
theme: ThemeConfig,
|
||||
},
|
||||
LayoutPresetSaved {
|
||||
id: LayoutPresetId,
|
||||
},
|
||||
LayoutPresetLoaded {
|
||||
id: LayoutPresetId,
|
||||
},
|
||||
LayoutPresetDeleted {
|
||||
id: LayoutPresetId,
|
||||
},
|
||||
WebhookDataReceived {
|
||||
source_id: DataSourceId,
|
||||
data: Value,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user