new column constructor

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2024-12-05 20:01:27 -05:00
parent 94598bedf5
commit 845a983592

View File

@@ -90,6 +90,24 @@ impl Columns {
)]));
}
pub fn insert_intermediary_routes(&mut self, intermediary_routes: Vec<IntermediaryRoute>) {
let id = Self::get_new_id();
let routes = intermediary_routes
.into_iter()
.map(|r| match r {
IntermediaryRoute::Timeline(timeline) => {
let route = Route::timeline(timeline.id);
self.timelines.insert(id, timeline);
route
}
IntermediaryRoute::Route(route) => route,
})
.collect();
self.columns.insert(id, Column::new(routes));
}
fn get_new_id() -> u32 {
UIDS.fetch_add(1, Ordering::Relaxed)
}
@@ -270,3 +288,8 @@ impl SerializableColumns {
columns
}
}
pub enum IntermediaryRoute {
Timeline(Timeline),
Route(Route),
}