#[cfg(feature = "rest-api-actix-web-1")]
mod actix;
#[cfg(feature = "rest-api-actix-web-1")]
mod resources;
use crate::rest_api::actix_web_1::{Resource, RestResourceProvider};
#[cfg(feature = "rest-api-actix-web-1")]
use crate::rest_api::auth::authorization::Permission;
#[cfg(feature = "rest-api-actix-web-1")]
const AUTHORIZATION_PERMISSIONS_READ_PERMISSION: Permission = Permission::Check {
permission_id: "authorization.permissions.read",
permission_display_name: "Permissions read",
permission_description: "Allows the client to read REST API permissions",
};
pub struct AuthorizationResourceProvider {
#[cfg(feature = "rest-api-actix-web-1")]
permissions: Vec<Permission>,
}
impl AuthorizationResourceProvider {
pub fn new(#[cfg(feature = "rest-api-actix-web-1")] permissions: Vec<Permission>) -> Self {
Self {
#[cfg(feature = "rest-api-actix-web-1")]
permissions,
}
}
}
impl RestResourceProvider for AuthorizationResourceProvider {
fn resources(&self) -> Vec<Resource> {
#[allow(unused_mut)]
let mut resources = Vec::new();
#[cfg(feature = "rest-api-actix-web-1")]
{
resources.push(actix::make_permissions_resource(self.permissions.clone()));
}
resources
}
}