use super::MetadataStore;
use crate::error::Result;
use crate::models::Event;
impl MetadataStore {
pub fn set_pending_event(&self, event: Event) {
self.pending_events.borrow_mut().push(event);
}
pub fn list_events(&self) -> Result<Vec<Event>> {
self.ensure_meta_dirs()?;
if !self.events_path.exists() {
return Ok(vec![]);
}
let content = std::fs::read_to_string(&self.events_path)?;
let mut events: Vec<Event> = content
.lines()
.filter(|l| !l.trim().is_empty())
.filter_map(|l| serde_json::from_str(l).ok())
.collect();
events.sort_by_key(|e| e.when);
Ok(events)
}
pub fn rebuild_events_from_commits(&self) -> Result<Vec<Event>> {
self.list_events()
}
pub fn get_current_user(&self) -> Result<String> {
self.jj_client.user_name()
}
}