use crate::db::{Item, Meta, Tag}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ItemWithMeta { pub item: Item, pub tags: Vec, pub meta: Vec, } impl ItemWithMeta { pub fn meta_as_map(&self) -> HashMap { self.meta.iter().cloned().map(|m| (m.name, m.value)).collect() } } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ItemWithContent { pub item_with_meta: ItemWithMeta, pub content: Vec, }