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