pub(crate) mod attachment;
pub(crate) mod autotype;
pub(crate) mod color;
pub(crate) mod custom_data;
pub(crate) mod entry;
pub(crate) mod group;
pub(crate) mod history;
pub(crate) mod meta;
pub(crate) mod times;
pub(crate) mod value;
use std::collections::HashMap;
pub use attachment::Attachment;
pub use autotype::{AutoType, AutoTypeAssociation};
pub use color::{Color, ParseColorError};
pub use custom_data::{CustomDataItem, CustomDataValue};
pub use entry::Entry;
pub use group::Group;
pub use history::History;
pub use meta::{MemoryProtection, Meta};
pub use times::Times;
pub use value::Value;
use crate::config::DatabaseConfig;
use chrono::NaiveDateTime;
use uuid::Uuid;
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serialization", derive(serde::Serialize))]
pub struct Database {
pub config: DatabaseConfig,
pub root: Group,
pub deleted_objects: HashMap<Uuid, Option<NaiveDateTime>>,
pub meta: Meta,
}
impl Database {
pub fn new(config: DatabaseConfig) -> Database {
Self {
config,
root: Group::new("Root"),
deleted_objects: Default::default(),
meta: Default::default(),
}
}
}