Skip to main content

users/
error.rs

1use core::fmt::Display;
2use internationalization::translate;
3
4pub type Result<T> = core::result::Result<T, Error>;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7#[repr(C)]
8pub enum Error {
9    DuplicateGroupIdentifier,
10    DuplicateGroupName,
11    DuplicateUserIdentifier,
12    DuplicateUserName,
13    InvalidGroupIdentifier,
14    InvalidUserIdentifier,
15    TooManyGroups,
16    TooManyUsers,
17    PoisonedLock,
18    NotInitialized,
19    AlreadyInitialized,
20}
21
22impl Display for Error {
23    fn fmt(&self, formatter: &mut core::fmt::Formatter) -> core::fmt::Result {
24        match self {
25            Self::DuplicateGroupIdentifier => {
26                write!(formatter, translate!("Duplicate group identifier"))
27            }
28            Self::DuplicateGroupName => {
29                write!(formatter, translate!("Duplicate group name"))
30            }
31            Self::DuplicateUserIdentifier => {
32                write!(formatter, translate!("Duplicate user identifier"))
33            }
34            Self::DuplicateUserName => {
35                write!(formatter, translate!("Duplicate user name"))
36            }
37            Self::InvalidGroupIdentifier => {
38                write!(formatter, translate!("Invalid group identifier"))
39            }
40            Self::InvalidUserIdentifier => {
41                write!(formatter, translate!("Invalid user identifier"))
42            }
43            Self::TooManyGroups => {
44                write!(formatter, translate!("Too many groups"))
45            }
46            Self::TooManyUsers => {
47                write!(formatter, translate!("Too many users"))
48            }
49            Self::PoisonedLock => {
50                write!(formatter, translate!("Poisoned lock"))
51            }
52            Self::NotInitialized => {
53                write!(formatter, translate!("Not initialized"))
54            }
55            Self::AlreadyInitialized => {
56                write!(formatter, translate!("Already initialized"))
57            }
58        }
59    }
60}