arch: split ConfigRepository, extract polling, consolidate conversions, decouple protocol
- Value↔JSON: From impls on domain Value behind `json` feature, delete 4 duplicate converters - ConfigRepository split into ConfigRepository (12), UserRepository (3), WidgetStateCache (2) - polling orchestration moved from bootstrap to application::polling_service - WidgetRenderer in client-domain owns scroll/cache, both clients use it - network loop consolidated into client-application::run_connection_loop - protocol crate drops domain dep, Wire↔Domain conversions move to adapters
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
use domain::{
|
||||
ConfigRepository, DataSource, DataSourceId, DomainEvent, EventPublisher, Layout, LayoutPreset,
|
||||
LayoutPresetId, ThemeConfig, User, WidgetConfig, WidgetId, WidgetState,
|
||||
LayoutPresetId, ThemeConfig, User, UserRepository, WidgetConfig, WidgetId, WidgetState,
|
||||
WidgetStateCache,
|
||||
};
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Mutex;
|
||||
@@ -123,6 +124,10 @@ impl ConfigRepository for InMemoryConfigRepository {
|
||||
self.presets.lock().unwrap().remove(&id);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl UserRepository for InMemoryConfigRepository {
|
||||
type Error = Never;
|
||||
|
||||
async fn get_user_by_username(&self, _username: &str) -> Result<Option<User>, Self::Error> {
|
||||
Ok(None)
|
||||
@@ -135,6 +140,10 @@ impl ConfigRepository for InMemoryConfigRepository {
|
||||
async fn count_users(&self) -> Result<u32, Self::Error> {
|
||||
Ok(0)
|
||||
}
|
||||
}
|
||||
|
||||
impl WidgetStateCache for InMemoryConfigRepository {
|
||||
type Error = Never;
|
||||
|
||||
async fn save_widget_states(
|
||||
&self,
|
||||
|
||||
Reference in New Issue
Block a user