68 lines
1.6 KiB
C#
68 lines
1.6 KiB
C#
namespace OrpaonVision.Core.Security.Contracts.Queries;
|
||
|
||
/// <summary>
|
||
/// 用户查询条件。
|
||
/// </summary>
|
||
public sealed class UserQueryDto
|
||
{
|
||
/// <summary>
|
||
/// 关键字搜索(用户名、显示名称、邮箱)。
|
||
/// </summary>
|
||
public string? Keyword { get; init; }
|
||
|
||
/// <summary>
|
||
/// 用户状态。
|
||
/// </summary>
|
||
public string? Status { get; init; }
|
||
|
||
/// <summary>
|
||
/// 角色过滤。
|
||
/// </summary>
|
||
public string? Role { get; init; }
|
||
|
||
/// <summary>
|
||
/// 创建时间范围开始(UTC)。
|
||
/// </summary>
|
||
public DateTime? CreatedAtUtcStart { get; init; }
|
||
|
||
/// <summary>
|
||
/// 创建时间范围结束(UTC)。
|
||
/// </summary>
|
||
public DateTime? CreatedAtUtcEnd { get; init; }
|
||
|
||
/// <summary>
|
||
/// 最后登录时间范围开始(UTC)。
|
||
/// </summary>
|
||
public DateTime? LastLoginAtUtcStart { get; init; }
|
||
|
||
/// <summary>
|
||
/// 最后登录时间范围结束(UTC)。
|
||
/// </summary>
|
||
public DateTime? LastLoginAtUtcEnd { get; init; }
|
||
|
||
/// <summary>
|
||
/// 是否激活。
|
||
/// </summary>
|
||
public bool? IsActive { get; init; }
|
||
|
||
/// <summary>
|
||
/// 页码(从1开始)。
|
||
/// </summary>
|
||
public int PageIndex { get; init; } = 1;
|
||
|
||
/// <summary>
|
||
/// 每页大小。
|
||
/// </summary>
|
||
public int PageSize { get; init; } = 20;
|
||
|
||
/// <summary>
|
||
/// 排序字段。
|
||
/// </summary>
|
||
public string SortField { get; init; } = "UserName";
|
||
|
||
/// <summary>
|
||
/// 排序方向(ASC/DESC)。
|
||
/// </summary>
|
||
public string SortDirection { get; init; } = "ASC";
|
||
}
|