umanux/api/
deleteuser_args.rs1#![allow(clippy::default_trait_access)]
2use std::path::PathBuf;
3
4#[derive(Debug, Clone, Eq, PartialEq)]
5pub enum DeleteHome {
6 Delete,
7 Keep,
8 Archive { path: PathBuf },
9}
10#[derive(Debug, Clone, Eq, PartialEq)]
11pub enum DeletePrimaryGroup {
12 Delete,
13 Keep,
14 DeleteIfEmpty,
15}
16#[derive(Debug, Builder, Eq, PartialEq)]
17#[builder(public)]
18#[builder(default)]
19pub struct DeleteUserArgs<'a> {
20 pub username: &'a str,
21 pub delete_home: DeleteHome,
22 pub delete_primary_group: DeletePrimaryGroup,
23}
24
25impl<'a> DeleteUserArgs<'a> {
26 #[must_use]
27 pub fn builder() -> DeleteUserArgsBuilder<'a> {
28 DeleteUserArgsBuilder::default()
29 }
30}
31
32impl Default for DeleteUserArgs<'_> {
33 fn default() -> Self {
34 Self {
35 username: "defaultuser",
36 delete_home: DeleteHome::Keep,
37 delete_primary_group: DeletePrimaryGroup::DeleteIfEmpty,
38 }
39 }
40}