pub mod logon_hours;
pub mod sid_type;
pub mod user_account_flags;
pub mod user_auth_flags;
pub mod user_privilege;
use thiserror::Error;
use crate::user::types::logon_hours::LogonHoursError;
pub use self::logon_hours::LogonHours;
pub use self::sid_type::SidType;
pub use self::user_account_flags::UserAccountFlags;
pub use self::user_auth_flags::UserAuthFlags;
pub use self::user_privilege::UserPrivilege;
#[derive(Debug, Error, Clone, PartialEq, Eq)]
pub enum InvalidUserProperty {
#[error("Invalid USER_PRIV value: {0}")]
UserPriv(u32),
#[error("Invalid USER_ACCOUNT_FLAGS value: {0}")]
UserAccountFlags(u32),
#[error("Invalid AF_OP value: {0}")]
AfOp(u32),
#[error("Invalid SID_NAME_USE value: {0}")]
SidType(i32),
#[error(transparent)]
LogonHours(LogonHoursError),
#[error("Invalid timestamp value: {0}")]
Timestamp(i64),
#[error("Invalid seconds value: {0}")]
Seconds(u64),
#[error("invalid group members length: {0}")]
InvalidGroupMembersLen(usize),
}