Files
keep/src/services/types.rs
2025-08-25 18:22:17 -03:00

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>,
}