Skip to main content

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}