using static Managing.Common.Enums; namespace Managing.Api.Models.Requests; /// /// Request model for getting paginated bots with filtering and sorting /// public class GetBotsPaginatedRequest { /// /// Page number (1-based). Default is 1. /// public int PageNumber { get; set; } = 1; /// /// Number of items per page. Default is 10, maximum is 100. /// public int PageSize { get; set; } = 10; /// /// Filter by bot status. If null, returns bots of all statuses. /// public BotStatus? Status { get; set; } /// /// Filter by user ID. If null, returns bots for all users. /// public int? UserId { get; set; } /// /// Filter by bot name (partial match, case-insensitive). If null, no name filtering is applied. /// public string? Name { get; set; } /// /// Filter by ticker (partial match, case-insensitive). If null, no ticker filtering is applied. /// public string? Ticker { get; set; } /// /// Filter by agent name (partial match, case-insensitive). If null, no agent name filtering is applied. /// public string? AgentName { get; set; } /// /// Sort field. Valid values: "Name", "Ticker", "Status", "CreateDate", "StartupTime", "Pnl", "WinRate", "AgentName". /// Default is "CreateDate". /// public string SortBy { get; set; } = "CreateDate"; /// /// Sort direction. Default is "Desc" (descending). /// public string SortDirection { get; set; } = "Desc"; }