23 lines
551 B
Rust
23 lines
551 B
Rust
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<Tag>,
|
|
pub meta: Vec<Meta>,
|
|
}
|
|
|
|
impl ItemWithMeta {
|
|
pub fn meta_as_map(&self) -> HashMap<String, String> {
|
|
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<u8>,
|
|
}
|