using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Permission
{
    public interface IPermissionControl
    {
        PermissionLevel RequiredPermissionLevel { get; set; }

        PermissionLevel CurrentPermissionLevel { get; set; }
        bool IsPermissionGot { get;}
    }
    // 表示一个被授权的控件（最小粒度）
    public class AuthorizedControl
    {
        public string Namespace { get; set; } = "";
        public string FormType { get; set; } = "";      // FullName
        public string ControlName { get; set; } = "";
    }

    // 整个权限配置 = 一组授权控件
    public class PermissionProfile
    {
        public List<AuthorizedControl> AuthorizedControls { get; set; } = new List<AuthorizedControl>();
    }
}

