Files
Extrudex/backend/API/DTOs/Spools/SpoolQueryDtos.cs
cubecraft-agents[bot] 230c3b295d initial commit
2026-04-25 18:51:05 +00:00

27 lines
1.0 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace Extrudex.API.DTOs.Spools;
/// <summary>
/// Query parameters for filtering and paginating the spool list endpoint.
/// All parameters are optional — defaults are applied when not provided.
/// </summary>
public class SpoolQueryParameters
{
/// <summary>Page number (1-based). Defaults to 1.</summary>
[Range(1, int.MaxValue, ErrorMessage = "PageNumber must be at least 1.")]
public int PageNumber { get; set; } = 1;
/// <summary>Number of items per page. Defaults to 20, max 100.</summary>
[Range(1, 100, ErrorMessage = "PageSize must be between 1 and 100.")]
public int PageSize { get; set; } = 20;
/// <summary>Optional filter by material base ID.</summary>
public Guid? MaterialBaseId { get; set; }
/// <summary>Optional filter by material finish ID.</summary>
public Guid? MaterialFinishId { get; set; }
/// <summary>Optional filter by active status. True = active only, False = inactive only.</summary>
public bool? IsActive { get; set; }
}