first version of create_user
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#![allow(clippy::default_trait_access)]
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||
pub enum CreateHome {
|
||||
Create,
|
||||
Skip,
|
||||
HomeFromDir { path: PathBuf },
|
||||
}
|
||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||
pub enum CreatePrimaryGroup {
|
||||
Create,
|
||||
Skip,
|
||||
CreateIfEmptyOrAdd,
|
||||
}
|
||||
#[derive(Debug, Builder, Eq, PartialEq)]
|
||||
#[builder(public)]
|
||||
#[builder(default)]
|
||||
pub struct CreateUserArgs<'a> {
|
||||
pub username: &'a str,
|
||||
pub delete_home: CreateHome,
|
||||
pub delete_primary_group: CreatePrimaryGroup,
|
||||
}
|
||||
|
||||
impl<'a> CreateUserArgs<'a> {
|
||||
#[must_use]
|
||||
pub fn builder() -> CreateUserArgsBuilder<'a> {
|
||||
CreateUserArgsBuilder::default()
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for CreateUserArgs<'_> {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
username: "defaultuser",
|
||||
delete_home: CreateHome::Create,
|
||||
delete_primary_group: CreatePrimaryGroup::CreateIfEmptyOrAdd,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user