You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.7 KiB
C#
113 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Security.Claims;
|
|
|
|
namespace Haoliang.Models.User
|
|
{
|
|
public class UserSession
|
|
{
|
|
public int Id { get; set; }
|
|
public int UserId { get; set; }
|
|
public string SessionToken { get; set; }
|
|
public string DeviceInfo { get; set; }
|
|
public string IPAddress { get; set; }
|
|
public DateTime LoginTime { get; set; }
|
|
public DateTime? LastActivityTime { get; set; }
|
|
public DateTime? LogoutTime { get; set; }
|
|
public bool IsActive { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|
|
|
|
public class Permission
|
|
{
|
|
public int Id { get; set; }
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
public string Category { get; set; } // System, Device, Production, Template, User
|
|
public string Module { get; set; }
|
|
public string Action { get; set; }
|
|
public string Resource { get; set; }
|
|
public bool IsEnabled { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public DateTime UpdatedAt { get; set; }
|
|
}
|
|
|
|
public class UserPermission
|
|
{
|
|
public int Id { get; set; }
|
|
public int UserId { get; set; }
|
|
public int PermissionId { get; set; }
|
|
public User User { get; set; }
|
|
public Permission Permission { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|
|
|
|
public class RolePermission
|
|
{
|
|
public int Id { get; set; }
|
|
public int RoleId { get; set; }
|
|
public int PermissionId { get; set; }
|
|
public Role Role { get; set; }
|
|
public Permission Permission { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|
|
|
|
public class JwtToken
|
|
{
|
|
public string AccessToken { get; set; }
|
|
public string RefreshToken { get; set; }
|
|
public DateTime ExpiresAt { get; set; }
|
|
public DateTime RefreshExpiresAt { get; set; }
|
|
public string TokenType { get; set; }
|
|
}
|
|
|
|
public class AuthResult
|
|
{
|
|
public bool Success { get; set; }
|
|
public string Token { get; set; }
|
|
public User User { get; set; }
|
|
public List<string> Permissions { get; set; }
|
|
public string Message { get; set; }
|
|
public DateTime ExpiresAt { get; set; }
|
|
}
|
|
|
|
public class UserClaims
|
|
{
|
|
public int UserId { get; set; }
|
|
public string Username { get; set; }
|
|
public string RealName { get; set; }
|
|
public int RoleId { get; set; }
|
|
public string RoleName { get; set; }
|
|
public List<string> Permissions { get; set; }
|
|
public List<int> DeviceIds { get; set; }
|
|
public DateTime SessionTime { get; set; }
|
|
}
|
|
|
|
public class PasswordReset
|
|
{
|
|
public int Id { get; set; }
|
|
public int UserId { get; set; }
|
|
public string Token { get; set; }
|
|
public bool IsUsed { get; set; }
|
|
public DateTime ExpiresAt { get; set; }
|
|
public DateTime? UsedAt { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|
|
|
|
public class UserViewModel
|
|
{
|
|
public int Id { get; set; }
|
|
public string Username { get; set; }
|
|
public string RealName { get; set; }
|
|
public string Email { get; set; }
|
|
public string Phone { get; set; }
|
|
public string Role { get; set; }
|
|
public string RoleName { get; set; }
|
|
public string Department { get; set; }
|
|
public bool IsActive { get; set; }
|
|
public DateTime? LastLoginTime { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public List<string> Permissions { get; set; }
|
|
public List<int> AssignedDevices { get; set; }
|
|
}
|
|
} |