cat_gateway/service/common/auth/
none_or_rbac.rs1use catalyst_types::id_uri::IdUri;
4use poem_openapi::SecurityScheme;
5
6use super::{none::NoAuthorization, rbac::scheme::CatalystRBACSecurityScheme};
7
8#[derive(SecurityScheme)]
9#[allow(dead_code, clippy::upper_case_acronyms, clippy::large_enum_variant)]
10pub(crate) enum NoneOrRBAC {
12 RBAC(CatalystRBACSecurityScheme),
14 None(NoAuthorization),
16}
17
18impl From<NoneOrRBAC> for Option<IdUri> {
19 fn from(value: NoneOrRBAC) -> Self {
20 match value {
21 NoneOrRBAC::RBAC(auth) => Some(auth.into()),
22 NoneOrRBAC::None(_) => None,
23 }
24 }
25}