using System.Collections.Generic;
using Abp.MultiTenancy;
namespace Abp.Authorization
{
///
/// Permission manager.
///
public interface IPermissionManager
{
///
/// Gets object with given or throws exception
/// if there is no permission with given .
///
/// Unique name of the permission
Permission GetPermission(string name);
///
/// Gets object with given or returns null
/// if there is no permission with given .
///
/// Unique name of the permission
Permission GetPermissionOrNull(string name);
///
/// Gets all permissions.
///
/// Can be passed false to disable tenancy filter.
IReadOnlyList GetAllPermissions(bool tenancyFilter = true);
///
/// Gets all permissions.
///
/// Multi-tenancy side to filter
IReadOnlyList GetAllPermissions(MultiTenancySides multiTenancySides);
}
}