ceshi
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
using LMS.Tools.Extensions;
|
||||
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class ApiEndpoints
|
||||
{
|
||||
|
||||
public string Id { get; set; }
|
||||
|
||||
public string HttpMethod { get; set; }
|
||||
|
||||
public string Path { get; set; }
|
||||
|
||||
public DateTime CreateTime { get; set; } = BeijingTimeExtension.GetBeijingTime();
|
||||
|
||||
public List<string> RequiredPermissionIds { get; set; }
|
||||
|
||||
public long CreatedId { get; set; }
|
||||
|
||||
public long UpdatedId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
using static LMS.Common.Enums.MachineEnum;
|
||||
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class Machine
|
||||
{
|
||||
/// <summary>
|
||||
/// ID 主键
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 机器ID
|
||||
/// </summary>
|
||||
public string MachineId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 停用时间
|
||||
/// </summary>
|
||||
public DateTime? DeactivationTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态(是否可用)
|
||||
/// </summary>
|
||||
public MachineStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者ID
|
||||
/// </summary>
|
||||
public long CreateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新者ID
|
||||
/// </summary>
|
||||
public long UpdateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 使用状态(试用,永久)
|
||||
/// </summary>
|
||||
public MachineUseStatus UseStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属用户ID
|
||||
/// </summary>
|
||||
public required long UserID { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
using LMS.Common.Enums;
|
||||
using static LMS.Common.Enums.PermissionEnum;
|
||||
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// 存放权限的表
|
||||
/// </summary>
|
||||
public class PermissionType
|
||||
{
|
||||
/// <summary>
|
||||
/// 权限ID
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 权限的名字
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表示权限的代码
|
||||
/// </summary>
|
||||
public string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 权限的分类(user和machine)
|
||||
/// </summary>
|
||||
public PermissionEnum.PermissionType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者ID
|
||||
/// </summary>
|
||||
public long CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新者ID
|
||||
/// </summary>
|
||||
public long UpdateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新权限的时间
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 权限的描述
|
||||
/// </summary>
|
||||
public string? Remark { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class Prompt
|
||||
{
|
||||
/// <summary>
|
||||
/// ID
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词预设的名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词的类型ID
|
||||
/// </summary>
|
||||
public string PromptTypeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词的类型编码
|
||||
/// </summary>
|
||||
public string PromptTypeCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词预设字符串
|
||||
/// </summary>
|
||||
public string PromptString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前版本
|
||||
/// </summary>
|
||||
public int Version { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词的描述
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者
|
||||
/// </summary>
|
||||
public string CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新者
|
||||
/// </summary>
|
||||
public string UpdateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string? Remark { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// 提示词类型的库
|
||||
/// </summary>
|
||||
public class PromptType
|
||||
{
|
||||
/// <summary>
|
||||
/// ID
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词类型编码
|
||||
/// </summary>
|
||||
public string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词类型名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词类型描述
|
||||
/// </summary>
|
||||
public string? Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提示词类型状态
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否删除
|
||||
/// </summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建用户ID
|
||||
/// </summary>
|
||||
public string CreateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新者ID
|
||||
/// </summary>
|
||||
public string UpdateUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class RefreshTokens
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键 ID
|
||||
/// </summary>
|
||||
public required string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户ID
|
||||
/// </summary>
|
||||
public required long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Token
|
||||
/// </summary>
|
||||
public required string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 到期时间
|
||||
/// </summary>
|
||||
public DateTime Expiration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是不是失效
|
||||
/// </summary>
|
||||
public Boolean Revoked { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上次校验IP
|
||||
/// </summary>
|
||||
public required string LastCheckIp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备信息,浏览器信息等
|
||||
/// </summary>
|
||||
public required string DeviceInfo { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using LMS.Tools.Extensions;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class Role : IdentityRole<long>
|
||||
{
|
||||
public long CreatedUserId { get; set; }
|
||||
|
||||
public long UpdatedUserId { get; set; }
|
||||
|
||||
public DateTime CreatedTime { get; set; }
|
||||
|
||||
public DateTime UpdatedTime { get; set; }
|
||||
|
||||
public string? Remark { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
using LMS.Tools.Extensions;
|
||||
|
||||
namespace LMS.Repository.DB
|
||||
{
|
||||
public class RsaKeys
|
||||
{
|
||||
/// <summary>
|
||||
/// ID 主键
|
||||
/// </summary>
|
||||
public required string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 使用次数
|
||||
/// </summary>
|
||||
public int UseCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公钥
|
||||
/// </summary>
|
||||
public required string PublicKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 加密后的私钥
|
||||
/// </summary>
|
||||
public required string EncryptedPrivateKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 加密私钥的随机字符串
|
||||
/// </summary>
|
||||
public required string EncryptionKey { get; set; } // 加密私钥的随机字符串
|
||||
|
||||
/// <summary>
|
||||
/// 加密私钥的随机IV
|
||||
/// </summary>
|
||||
public required string EncryptionIV { get; set; } // 加密私钥的随机字符串
|
||||
|
||||
/// <summary>
|
||||
/// Key的版本
|
||||
/// </summary>
|
||||
public int KeyVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedTime { get; set; } = BeijingTimeExtension.GetBeijingTime();
|
||||
|
||||
/// <summary>
|
||||
/// 上次使用的时间
|
||||
/// </summary>
|
||||
public DateTime? LastUsed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 到期时间
|
||||
/// </summary>
|
||||
public DateTime ExpirationTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using LMS.Repository.User;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class User : IdentityUser<long>
|
||||
{
|
||||
[MaxLength(50)]
|
||||
public string NickName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 允许使用的机器码数量
|
||||
/// </summary>
|
||||
public long AllDeviceCount { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 代理分成比例
|
||||
/// </summary>
|
||||
public double AgentPercent { get; set; } = 0.00;
|
||||
|
||||
/// <summary>
|
||||
/// 免费修改机器码次数
|
||||
/// </summary>
|
||||
public long FreeCount { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 用户的一些简单的操作
|
||||
/// </summary>
|
||||
[Column(TypeName = "json")]
|
||||
public string? Options { get; set; } = "{}";
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime CreatedDate { get; set; } = DateTime.Now;
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime UpdatedDate { get; set; } = DateTime.Now;
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime LastLoginDate { get; set; } = DateTime.Now;
|
||||
|
||||
public string? LastLoginIp { get; set; } = "";
|
||||
|
||||
public string? LastLoginDevice { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 上级ID
|
||||
/// </summary>
|
||||
public long? ParentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 推广码
|
||||
/// </summary>
|
||||
public string AffiliateCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 实际使用的Options
|
||||
/// </summary>
|
||||
[NotMapped]
|
||||
public UserPrivateOptions OptionsJson
|
||||
{
|
||||
get => JsonSerializer.Deserialize<UserPrivateOptions>(Options ?? "{}") ?? new UserPrivateOptions();
|
||||
set => Options = JsonSerializer.Serialize(value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace LMS.Repository.Models.DB
|
||||
{
|
||||
public class UserRoles
|
||||
{
|
||||
|
||||
public required string RoleId { get; set; }
|
||||
|
||||
public required string UserId { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user