using System.Security.Claims;

namespace DocuMed.Common.Models.Claims;
public static class ApplicationClaims
{
    public static ClaimDto ManageComplexes { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageComplexes,
        Title = "دسترسی کامل به مجموعه ها",
        Detail = "دسترسی به افزودن و مدیریت مجموعه های سیستم"
    };
    public static ClaimDto ViewComplexes { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ViewComplexes,
        Title = "مشاهده مجموعه ها",
        Detail = "دسترسی به مشاهده مجموعه ها"
    };

    public static ClaimDto ManageShifts { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageShifts,
        Title = "دسترسی کامل به شیفت ها",
        Detail = "دسترسی به افزودن و مدیریت شیفت ها فروشگاه شما"
    };
    public static ClaimDto ViewShifts { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ViewShifts,
        Title = "دسترسی مشاهده به شیفت ها",
        Detail = "قابلیت مشاهده شیفت های مجموعه"
    };
    public static ClaimDto ManageShiftPlans { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageShiftPlans,
        Title = "دسترسی کامل به شیفت بندی ها",
        Detail = "دسترسی به افزودن و مدیریت شیفت بندی فروشگاه شما"
    };

    public static ClaimDto ManageTasks { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageTasks,
        Title = "دسترسی کامل به وظایف",
        Detail = "دسترسی به افزودن و مدیریت وظایف فروشگاه شما"
    };
    public static ClaimDto ViewTasks { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ViewTasks,
        Title = "دسترسی مشاهده وظایف",
        Detail = "دسترسی مشاهده وظایف مجموعه شما"
    };
    public static ClaimDto ManageActivities { get; } = new ClaimDto
    {
        Type = CustomClaimType.Permission,
        Value = ApplicationPermission.ManageActivities,
        Title = "دسترسی کامل به فعالیت ها",
        Detail = "دسترسی به افزودن و مدیریت فعالیت ها فروشگاه شما"
    };


    public static List<Claim> AllClaims = new List<Claim>
    {
        ManageActivities.GetClaim,
        ViewTasks.GetClaim,
        ManageTasks.GetClaim,

        ManageShiftPlans.GetClaim,
        ViewShifts.GetClaim,
        ManageShifts.GetClaim,

        ViewComplexes.GetClaim,
        ManageComplexes.GetClaim,
    };

    public static List<Claim> ManagerClaims = new List<Claim>
    {
        ManageActivities.GetClaim,
        ViewTasks.GetClaim,
        ManageTasks.GetClaim,

        ManageShiftPlans.GetClaim,
        ViewShifts.GetClaim,
        ManageShifts.GetClaim,
    };
}
