using FreeSql.DatabaseModel;using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace FuelServer.Core.Entity
{

	/// <summary>
	/// 权限
	/// </summary>
	[JsonObject(MemberSerialization.OptIn), Table(Name = "ad_permission", DisableSyncStructure = true)]
	public partial class AdPermission {

		/// <summary>
		/// 主键Id
		/// </summary>
		[JsonProperty, Column(IsPrimary = true)]
		public long Id { get; set; }

		[JsonProperty]
		public long ApplyID { get; set; }

		/// <summary>
		/// 权限编码
		/// </summary>
		[JsonProperty, Column(StringLength = 500)]
		public string Code { get; set; }

		/// <summary>
		/// 创建时间
		/// </summary>
		[JsonProperty, Column(DbType = "datetime")]
		public DateTime? CreatedTime { get; set; }

		/// <summary>
		/// 创建者Id
		/// </summary>
		[JsonProperty]
		public long? CreatedUserId { get; set; }

		/// <summary>
		/// 创建者
		/// </summary>
		[JsonProperty, Column(StringLength = 50)]
		public string CreatedUserName { get; set; }

		/// <summary>
		/// 描述
		/// </summary>
		[JsonProperty, Column(StringLength = 200)]
		public string Description { get; set; }

		/// <summary>
		/// 启用
		/// </summary>
		[JsonProperty]
		public bool Enabled { get; set; }

		/// <summary>
		/// 链接外显
		/// </summary>
		[JsonProperty]
		public bool External { get; set; }

		/// <summary>
		/// 隐藏
		/// </summary>
		[JsonProperty]
		public bool Hidden { get; set; }

		/// <summary>
		/// 图标
		/// </summary>
		[JsonProperty, Column(StringLength = 100)]
		public string Icon { get; set; }

		/// <summary>
		/// 是否固定
		/// </summary>
		[JsonProperty]
		public bool IsAffix { get; set; }

		/// <summary>
		/// 是否删除
		/// </summary>
		[JsonProperty]
		public bool IsDeleted { get; set; }

		/// <summary>
		/// 是否内嵌窗口
		/// </summary>
		[JsonProperty]
		public bool IsIframe { get; set; }

		/// <summary>
		/// 是否缓存
		/// </summary>
		[JsonProperty]
		public bool IsKeepAlive { get; set; }

		/// <summary>
		/// 权限名称
		/// </summary>
		[JsonProperty, Column(StringLength = 50)]
		public string Label { get; set; }

		/// <summary>
		/// 链接地址
		/// </summary>
		[JsonProperty, Column(StringLength = 500)]
		public string Link { get; set; }

		/// <summary>
		/// 修改时间
		/// </summary>
		[JsonProperty, Column(DbType = "datetime")]
		public DateTime? ModifiedTime { get; set; }

		/// <summary>
		/// 修改者Id
		/// </summary>
		[JsonProperty]
		public long? ModifiedUserId { get; set; }

		/// <summary>
		/// 修改者
		/// </summary>
		[JsonProperty, Column(StringLength = 50)]
		public string ModifiedUserName { get; set; }

		/// <summary>
		/// 路由命名
		/// </summary>
		[JsonProperty, Column(StringLength = 100)]
		public string Name { get; set; }

		/// <summary>
		/// 打开新窗口
		/// </summary>
		[JsonProperty]
		public bool NewWindow { get; set; }

		/// <summary>
		/// 展开分组
		/// </summary>
		[JsonProperty]
		public bool Opened { get; set; }

		/// <summary>
		/// 父级节点
		/// </summary>
		[JsonProperty]
		public long ParentId { get; set; }

		/// <summary>
		/// 路由地址
		/// </summary>
		[JsonProperty, Column(StringLength = 500)]
		public string Path { get; set; }

		/// <summary>
		/// 重定向地址
		/// </summary>
		[JsonProperty, Column(StringLength = 500)]
		public string Redirect { get; set; }

		/// <summary>
		/// 排序
		/// </summary>
		[JsonProperty]
		public int Sort { get; set; }

		/// <summary>
		/// 权限类型
		/// </summary>
		[JsonProperty]
		public int Type { get; set; }

		/// <summary>
		/// 视图Id
		/// </summary>
		[JsonProperty]
		public long? ViewId { get; set; }

	}

}
