using System;
using System.Collections.Generic;

namespace VCommon.VApplication.Authorization
{
    public interface IPermissionManager
    {
        ///// <summary> 检查权限代码是否合法 </summary>
        //bool ValidPermission(string permission);

        /// <summary> 检查指定的用户是否有权限 </summary>
        bool CheckPermission(Guid? tenantId, Guid userId, params string[] hasAnyPermission);

        ///// <summary> 获取当前用户权限代码集合 </summary>
        //IReadOnlyCollection<string> GetUserPermissionCodes(Guid? tenantId, Guid userId);

        ///// <summary> 获取平台端完整权限 </summary>
        //IReadOnlyCollection<string> GetHostPermissionNode();

        ///// <summary> 获取租户端完整权限</summary>
        //IReadOnlyCollection<string> GetTenantPermissionNode(ICollection<string> licPermissions);


        ///// <summary> 获取当前可用权限树 </summary>
        //IReadOnlyCollection<PermissionNodeOutput> GetPermissionTreeOutput(MultiTenancySides side, ICollection<string> licPermissions);

    }
}
