use crate::documents::DiagnosticDocument;
use crate::session::{ReviewHistoryEntry, ReviewHistoryFilters, ReviewHistoryResult};
#[derive(serde::Serialize)]
#[serde(rename_all = "camelCase")]
pub struct HistoryBody {
event_set_hash: String,
event_count: usize,
history_count: usize,
filters: ReviewHistoryFilters,
entries: Vec<ReviewHistoryEntry>,
next_cursor: Option<String>,
}
pub fn history_document(result: ReviewHistoryResult) -> DiagnosticDocument<HistoryBody> {
let history_count = result.history_count();
DiagnosticDocument::new(
"shore.review-history",
HistoryBody {
event_set_hash: result.event_set_hash,
event_count: result.event_count,
history_count,
filters: result.filters,
entries: result.entries,
next_cursor: result.next_cursor,
},
result.diagnostics,
)
}