83 lines
2.0 KiB
C#
83 lines
2.0 KiB
C#
using LMS.Common.Enums;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
using System.Text.Json;
|
||
using static LMS.Common.Enums.PermissionEnum;
|
||
|
||
namespace LMS.Repository.Models.DB
|
||
{
|
||
/// <summary>
|
||
/// 所有的权限集合
|
||
/// </summary>
|
||
public class Permission
|
||
{
|
||
/// <summary>
|
||
/// 权限的ID
|
||
/// </summary>
|
||
public string Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户的ID
|
||
/// </summary>
|
||
public long? UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 机器码的ID(是ID,不是机器码)
|
||
/// </summary>
|
||
public string? MachineId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 角色ID
|
||
/// </summary>
|
||
public long? RoleId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 权限类型的ID(子权限)
|
||
/// </summary>
|
||
[Column(TypeName = "json")]
|
||
public string PermissionTypeIds { get; set; }
|
||
|
||
/// <summary>
|
||
/// 权限对应的Code
|
||
/// </summary>
|
||
public string PermissionCode { get; set; }
|
||
|
||
/// <summary>
|
||
/// 权限类型
|
||
/// </summary>
|
||
public PType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人ID
|
||
/// </summary>
|
||
public long CreateUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新人ID
|
||
/// </summary>
|
||
public long UpdateUserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间
|
||
/// </summary>
|
||
public DateTime CreateTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间
|
||
/// </summary>
|
||
public DateTime UpdateTime { get; set; }
|
||
|
||
|
||
/// <summary>
|
||
/// 备注
|
||
/// </summary>
|
||
public string Remark { get; set; }
|
||
|
||
[NotMapped]
|
||
public List<string> PermissionTypeIdsJson
|
||
{
|
||
get => JsonSerializer.Deserialize<List<string>>(PermissionTypeIds) ?? [];
|
||
set => PermissionTypeIds = JsonSerializer.Serialize(value);
|
||
}
|
||
}
|
||
}
|