use proc_macro::TokenStream;
mod macros;
mod utils;
use macros::{
check_login::sa_check_login_impl,
check_permission::sa_check_permission_impl,
check_role::sa_check_role_impl,
check_permissions_and::sa_check_permissions_and_impl,
check_permissions_or::sa_check_permissions_or_impl,
check_roles_and::sa_check_roles_and_impl,
check_roles_or::sa_check_roles_or_impl,
check_safe::sa_check_safe_impl,
check_disable::sa_check_disable_impl,
check_or::sa_check_or_impl,
ignore::sa_ignore_impl,
};
#[proc_macro_attribute]
pub fn sa_check_login(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_login_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_permission(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_permission_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_role(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_role_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_permissions_and(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_permissions_and_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_permissions_or(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_permissions_or_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_roles_and(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_roles_and_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_roles_or(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_roles_or_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_ignore(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_ignore_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_safe(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_safe_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_disable(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_disable_impl(attr, item)
}
#[proc_macro_attribute]
pub fn sa_check_or(attr: TokenStream, item: TokenStream) -> TokenStream {
sa_check_or_impl(attr, item)
}