namespace NetinaCMS.Domain.Models.Claims;

public static class ApplicationClaims
{

    public static ClaimDto ManageBlogs { get; } = new ClaimDto
    {
        Title = "مدیریت بلاگ ها",
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageBlogs,
    };
    public static ClaimDto ViewBlogs { get; } = new ClaimDto
    {
        Title = "مشاهده بلاگ ها",
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ViewBlogs,
    };

    

    public static ClaimDto ManageBlogCategories { get; } = new ClaimDto
    {
        Title = "مدیریت دسته بندی ها",
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageBlogCategories,
    };
    public static ClaimDto ViewBlogCategories { get; } = new ClaimDto
    {
        Title = "مشاهده دسته بندی ها",
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ViewBlogCategories,
    };

    

    public static List<ClaimDto> AllClaimDtos = new List<ClaimDto>
    {
        ManageBlogs,
        ViewBlogs,
        ManageBlogCategories,
        ViewBlogCategories,
    };

    public static List<Claim> AllClaims = new List<Claim>
    {
        ManageBlogs.GetClaim,
        ViewBlogs.GetClaim,
        ManageBlogCategories.GetClaim,
        ViewBlogCategories.GetClaim,
    };

    public static List<Claim> ManagerClaims = new List<Claim>
    {
        ManageBlogs.GetClaim,
        ViewBlogs.GetClaim,
        ManageBlogCategories.GetClaim,
        ViewBlogCategories.GetClaim,
    };

    public static List<Claim> CustomerClaims = new List<Claim>
    {
        ViewBlogs.GetClaim,
        ViewBlogCategories.GetClaim,
    };

}
