pub struct GroupMut<'a> { /* private fields */ }Expand description
Mutable reference to a Group. Implements DerefMut to &mut Group
Implementations§
Source§impl GroupMut<'_>
impl GroupMut<'_>
Sourcepub fn group_mut(&mut self, id: GroupId) -> Option<GroupMut<'_>>
pub fn group_mut(&mut self, id: GroupId) -> Option<GroupMut<'_>>
Get a mutable reference to a contained group by ID
Sourcepub fn entry_mut(&mut self, id: EntryId) -> Option<EntryMut<'_>>
pub fn entry_mut(&mut self, id: EntryId) -> Option<EntryMut<'_>>
Get a mutable reference to a contained entry by ID
Sourcepub fn edit(&mut self, f: impl FnOnce(&mut GroupMut<'_>)) -> &mut Self
pub fn edit(&mut self, f: impl FnOnce(&mut GroupMut<'_>)) -> &mut Self
Convenience method to edit the group in a closure.
Sourcepub fn edit_tracking(
&mut self,
f: impl FnOnce(&mut GroupTrack<'_>),
) -> &mut Self
pub fn edit_tracking( &mut self, f: impl FnOnce(&mut GroupTrack<'_>), ) -> &mut Self
Convenience method to edit the group in a closure that tracks changes.
Sourcepub fn add_group(&mut self) -> GroupMut<'_>
pub fn add_group(&mut self) -> GroupMut<'_>
Adds a new subgroup to this group and returns a mutable reference to it.
Sourcepub fn add_entry(&mut self) -> EntryMut<'_>
pub fn add_entry(&mut self) -> EntryMut<'_>
Adds a new entry to this group and returns a mutable reference to it.
Sourcepub fn add_entry_with_id(
&mut self,
id: EntryId,
) -> Result<EntryMut<'_>, DuplicateEntryIdError>
pub fn add_entry_with_id( &mut self, id: EntryId, ) -> Result<EntryMut<'_>, DuplicateEntryIdError>
Adds a new entry under a caller-supplied EntryId and returns a mutable reference to it.
Returns DuplicateEntryIdError if an entry with the same identifier already exists anywhere in the database.
§Example
use keepass::db::{Database, EntryId, fields};
use uuid::uuid;
let mut db = Database::new();
let entry_id: EntryId = uuid!("00000000-0000-0000-0000-000000000001").into();
db.root_mut()
.add_entry_with_id(entry_id)
.unwrap()
.edit(|e| {
e.set_unprotected(fields::TITLE, "My entry with defined UUID");
});Sourcepub fn add_group_with_id(
&mut self,
id: GroupId,
) -> Result<GroupMut<'_>, DuplicateGroupIdError>
pub fn add_group_with_id( &mut self, id: GroupId, ) -> Result<GroupMut<'_>, DuplicateGroupIdError>
Adds a new subgroup under a caller-supplied GroupId and returns a mutable reference to it.
Returns DuplicateGroupIdError if a group with the same identifier already exists anywhere in the database.
§Example
use keepass::db::{Database, GroupId};
use uuid::uuid;
let mut db = Database::new();
let group_id: GroupId = uuid!("00000000-0000-0000-0000-000000000002").into();
db.root_mut()
.add_group_with_id(group_id)
.unwrap()
.edit(|g| g.name = "Pinned group".to_string());Sourcepub fn database_mut(&mut self) -> &mut Database
pub fn database_mut(&mut self) -> &mut Database
Get a mutable reference to the database this group belongs to
Sourcepub fn parent_mut(&mut self) -> Option<GroupMut<'_>>
pub fn parent_mut(&mut self) -> Option<GroupMut<'_>>
Get a mutable reference to the parent group, if any
Sourcepub fn previous_parent_mut(&mut self) -> Option<GroupMut<'_>>
pub fn previous_parent_mut(&mut self) -> Option<GroupMut<'_>>
Get a mutable reference to the previous parent group, if any
Sourcepub fn group_by_name_mut(&mut self, name: &str) -> Option<GroupMut<'_>>
pub fn group_by_name_mut(&mut self, name: &str) -> Option<GroupMut<'_>>
Find a contained group by name, case-insensitively, and return a mutable reference to it.
Sourcepub fn entry_by_name_mut(&mut self, title: &str) -> Option<EntryMut<'_>>
pub fn entry_by_name_mut(&mut self, title: &str) -> Option<EntryMut<'_>>
Find a contained entry by title, case-insensitively, and return a mutable reference to it.
Sourcepub fn group_by_path_mut(&mut self, path: &[&str]) -> Option<GroupMut<'_>>
pub fn group_by_path_mut(&mut self, path: &[&str]) -> Option<GroupMut<'_>>
Find a contained group by a path of names, case-insensitively, and return a mutable reference to it.
Sourcepub fn set_icon_none(&mut self)
pub fn set_icon_none(&mut self)
Remove the icon from this group, if it exists.
Sourcepub fn set_icon_builtin(&mut self, icon_id: usize)
pub fn set_icon_builtin(&mut self, icon_id: usize)
Set a built-in icon for this group by its ID, removing any existing icon.
Sourcepub fn set_icon_custom(
&mut self,
custom_icon_id: CustomIconId,
) -> Result<(), CustomIconNotFoundError>
pub fn set_icon_custom( &mut self, custom_icon_id: CustomIconId, ) -> Result<(), CustomIconNotFoundError>
Set a custom icon for this group by its ID, removing any existing icon.
Sourcepub fn set_icon_custom_new(&mut self, data: Vec<u8>) -> CustomIconMut<'_>
pub fn set_icon_custom_new(&mut self, data: Vec<u8>) -> CustomIconMut<'_>
Set a custom icon for this group by providing the raw data, removing any existing icon. Returns a mutable reference to the newly created custom icon.
Sourcepub fn custom_icon_mut(&mut self) -> Option<CustomIconMut<'_>>
pub fn custom_icon_mut(&mut self) -> Option<CustomIconMut<'_>>
Get a mutable reference to the custom icon of this group, if it exists and is a custom icon.
Sourcepub fn move_to(&mut self, new_parent_id: GroupId) -> Result<(), MoveGroupError>
pub fn move_to(&mut self, new_parent_id: GroupId) -> Result<(), MoveGroupError>
Move this group to a new parent group.
Performs sanity checking and will return an error if the destination does not exist, belongs to a different database, or if the move would create a cycle in the group hierarchy.
Sourcepub fn track_changes(&mut self) -> GroupTrack<'_>
pub fn track_changes(&mut self) -> GroupTrack<'_>
Convert this mutable group reference into a history-tracking variant that will record changes such as deletions and moves.