using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
namespace VberZero.BaseSystem;
///
/// 用于授予/拒绝角色或用户等的权限。
///
[Table("Sys_Permissions")]
public abstract class PermissionSetting : CreationAuditedEntity, IMayHaveTenant
{
public const int MaxNameLength = 128;
public const int MasterValueMaxLength = 100;
public const int AccessValueMaxLength = 500;
public virtual int? TenantId { get; set; }
///
/// 权限的唯一名称
///
[Required]
[StringLength(MaxNameLength)]
public virtual string Name { get; set; }
public int? Master { get; set; }
[StringLength(MasterValueMaxLength)]
public virtual string MasterValue { get; set; }
public int? Access { get; set; }
[StringLength(AccessValueMaxLength)]
public string AccessValue { get; set; }
///
/// 是否授予此权限。
/// 默认值:true
///
public virtual bool IsGranted { get; set; }
protected PermissionSetting()
{
IsGranted = true;
}
public class MasterDefined
{
public const int User = 1;
public const int Role = 2;
}
}