keepass/db/types/custom_data.rs
1use chrono::NaiveDateTime;
2
3/// Custom data field for an [Entry][crate::db::Entry] or [Meta][crate::db::Meta] for database-wide
4/// custom data
5#[derive(Debug, Default, PartialEq, Eq, Clone)]
6#[cfg_attr(feature = "serialization", derive(serde::Serialize))]
7pub struct CustomDataItem {
8 /// Value of the custom data item.
9 pub value: Option<CustomDataValue>,
10
11 /// Time the custom data item was last modified
12 pub last_modification_time: Option<NaiveDateTime>,
13}
14
15/// Value of a [CustomDataItem]
16#[derive(Debug, PartialEq, Eq, Clone)]
17#[cfg_attr(feature = "serialization", derive(serde::Serialize))]
18pub enum CustomDataValue {
19 /// String custom data value
20 String(String),
21
22 /// Binary custom data value
23 Binary(Vec<u8>),
24}