use crate::{dto::error::Error, ops::config::ConfigOps};
mod application_session;
mod attestation;
mod root;
mod token;
pub struct AuthApi;
impl AuthApi {
fn map_auth_error(err: crate::InternalError) -> Error {
Error::from(err)
}
fn require_delegated_token_issuer_enabled() -> Result<(), Error> {
let delegated_tokens_cfg =
ConfigOps::delegated_tokens_config().map_err(Self::map_auth_error)?;
if !delegated_tokens_cfg.enabled {
return Err(Error::from_registered(
crate::diagnostics::codes::REQUEST_INVALID,
));
}
let canister_cfg = ConfigOps::current_canister().map_err(Self::map_auth_error)?;
if !canister_cfg.auth.delegated_token_issuer {
return Err(Error::from_registered(
crate::diagnostics::codes::AUTHORITY_UNAUTHORIZED,
));
}
Ok(())
}
}