liminal_server/auth_lys/
route_class.rs1use super::{GrantMode, HotAction};
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
8#[serde(tag = "class", rename_all = "snake_case")]
9pub enum AccessRouteClass {
10 Publish,
12 Subscribe,
14 Call,
16 Serve,
18 Deliberate {
20 mode: GrantMode,
22 },
23}
24
25impl AccessRouteClass {
26 #[must_use]
28 pub const fn hot_action(self) -> Option<HotAction> {
29 match self {
30 Self::Publish => Some(HotAction::Publish),
31 Self::Subscribe => Some(HotAction::Subscribe),
32 Self::Call => Some(HotAction::Call),
33 Self::Serve => Some(HotAction::Serve),
34 Self::Deliberate { .. } => None,
35 }
36 }
37}