1mod metrics;
11mod tracing;
12
13pub use metrics::*;
14pub use tracing::*;
15
16use crate::_prelude::*;
18
19#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
21pub enum FlowKind {
22 AuthorizationCode,
24 Refresh,
26 ClientCredentials,
28}
29impl FlowKind {
30 pub const fn as_str(self) -> &'static str {
32 match self {
33 FlowKind::AuthorizationCode => "authorization_code",
34 FlowKind::Refresh => "refresh",
35 FlowKind::ClientCredentials => "client_credentials",
36 }
37 }
38}
39impl Display for FlowKind {
40 fn fmt(&self, f: &mut Formatter) -> FmtResult {
41 f.write_str(self.as_str())
42 }
43}
44
45#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
47pub enum FlowOutcome {
48 Attempt,
50 Success,
52 Failure,
54}
55impl FlowOutcome {
56 pub const fn as_str(self) -> &'static str {
58 match self {
59 FlowOutcome::Attempt => "attempt",
60 FlowOutcome::Success => "success",
61 FlowOutcome::Failure => "failure",
62 }
63 }
64}
65impl Display for FlowOutcome {
66 fn fmt(&self, f: &mut Formatter) -> FmtResult {
67 f.write_str(self.as_str())
68 }
69}