pub struct Group {Show 20 fields
pub creation_time: DateTime<Utc>,
pub custom_icon_uuid: Option<CustomIconUuid>,
pub def_auto_type_sequence: String,
pub enable_auto_type: Option<bool>,
pub enable_searching: Option<bool>,
pub entries: Vec<Entry>,
pub expires: bool,
pub expiry_time: DateTime<Utc>,
pub groups: Vec<Group>,
pub icon: Icon,
pub is_expanded: bool,
pub last_accessed: DateTime<Utc>,
pub last_modified: DateTime<Utc>,
pub last_top_visible_entry: EntryUuid,
pub location_changed: DateTime<Utc>,
pub name: String,
pub notes: String,
pub usage_count: i32,
pub uuid: GroupUuid,
pub parent: GroupUuid,
}
Expand description
A group in the database.
Fields
creation_time: DateTime<Utc>
The date and time this group was created.
custom_icon_uuid: Option<CustomIconUuid>
The identifier of this group’s custom icon if any.
def_auto_type_sequence: String
Default auto-type sequence.
enable_auto_type: Option<bool>
Whether auto-type is enabled.
enable_searching: Option<bool>
Whether searching is enabled.
entries: Vec<Entry>
Vector with entries that belong to this group.
expires: bool
Whether this group expires.
expiry_time: DateTime<Utc>
The date and time this group will expire if expires is true.
groups: Vec<Group>
Vector with subgroups of this group.
icon: Icon
This group’s icon.
is_expanded: bool
Whether this group is expanded.
last_accessed: DateTime<Utc>
The date and time this group was last accessed.
last_modified: DateTime<Utc>
The date and time this group was last modified.
last_top_visible_entry: EntryUuid
The identifier of the last top visible entry.
location_changed: DateTime<Utc>
The date and time the location of this group was changed.
name: String
The name of this group.
notes: String
The notes of this group.
usage_count: i32
The usage count of this group.
uuid: GroupUuid
The identifier of this group.
parent: GroupUuid
The parent groups GroupUUID.
Implementations
sourceimpl Group
impl Group
sourcepub fn add_entry(&mut self, entry: Entry)
pub fn add_entry(&mut self, entry: Entry)
Add an entry to the current group.
Examples
use kpdb::{Entry, Group};
let mut group = Group::new("group");
let entry = Entry::new();
assert_eq!(group.entries.len(), 0);
group.add_entry(entry.clone());
assert_eq!(group.entries.len(), 1);
assert_eq!(group.entries[0], entry);
sourcepub fn add_group(&mut self, group: Group)
pub fn add_group(&mut self, group: Group)
Add a sub group to the current group.
Examples
use kpdb::Group;
let mut root = Group::new("root");
let child = Group::new("child");
assert_eq!(root.groups.len(), 0);
root.add_group(child.clone());
assert_eq!(root.groups.len(), 1);
assert_eq!(root.groups[0], child);
sourcepub fn iter(&self) -> Iter<'_>
pub fn iter(&self) -> Iter<'_>
Returns an iterator over the group and sub groups.
Examples
use kpdb::Group;
let mut root = Group::new("root");
let sub_1 = Group::new("sub_1");
let sub_2 = Group::new("sub_2");
root.add_group(sub_1.clone());
root.add_group(sub_2.clone());
let mut iterator = root.iter();
assert_eq!(iterator.next(), Some(&root));
assert_eq!(iterator.next(), Some(&sub_1));
assert_eq!(iterator.next(), Some(&sub_2));
assert_eq!(iterator.next(), None);
sourcepub fn iter_mut(&mut self) -> IterMut<'_>
pub fn iter_mut(&mut self) -> IterMut<'_>
Returns an iterator that allows modifying each group.
Examples
use kpdb::Group;
let mut root = Group::new("root");
for group in root.iter_mut() {
group.name = String::from("name");
}
assert_eq!(root.name, "name");
sourcepub fn remove_entry(&mut self, entry_uuid: EntryUuid) -> Option<Entry>
pub fn remove_entry(&mut self, entry_uuid: EntryUuid) -> Option<Entry>
Remove an entry from the current group.
Examples
use kpdb::{Entry, Group};
let mut group = Group::new("Sample");
let entry = Entry::new();
group.add_entry(entry.clone());
assert_eq!(group.entries.len(), 1);
assert_eq!(group.remove_entry(entry.uuid), Some(entry));
assert_eq!(group.entries.len(), 0);
sourcepub fn remove_group(&mut self, group_uuid: GroupUuid) -> Option<Group>
pub fn remove_group(&mut self, group_uuid: GroupUuid) -> Option<Group>
Remove a sub group from the current group.
Examples
use kpdb::Group;
let mut parent = Group::new("Parent");
let child = Group::new("Child");
parent.add_group(child.clone());
assert_eq!(parent.groups.len(), 1);
assert_eq!(parent.remove_group(child.uuid), Some(child));
assert_eq!(parent.groups.len(), 0);