umanux 0.1.1

Library for managing Linux users and their directories
Documentation
#![allow(clippy::default_trait_access)]
use std::path::PathBuf;

#[derive(Debug, Clone, Eq, PartialEq)]
pub enum DeleteHome {
    Delete,
    Keep,
    Archive { path: PathBuf },
}
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum DeletePrimaryGroup {
    Delete,
    Keep,
    DeleteIfEmpty,
}
#[derive(Debug, Builder, Eq, PartialEq)]
#[builder(public)]
#[builder(default)]
pub struct DeleteUserArgs<'a> {
    pub username: &'a str,
    pub delete_home: DeleteHome,
    pub delete_primary_group: DeletePrimaryGroup,
}

impl<'a> DeleteUserArgs<'a> {
    #[must_use]
    pub fn builder() -> DeleteUserArgsBuilder<'a> {
        DeleteUserArgsBuilder::default()
    }
}

impl Default for DeleteUserArgs<'_> {
    fn default() -> Self {
        Self {
            username: "defaultuser",
            delete_home: DeleteHome::Keep,
            delete_primary_group: DeletePrimaryGroup::DeleteIfEmpty,
        }
    }
}