initial commit
This commit is contained in:
33
backend/API/DTOs/Filaments/FilamentQueryDtos.cs
Normal file
33
backend/API/DTOs/Filaments/FilamentQueryDtos.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Extrudex.API.DTOs.Filaments;
|
||||
|
||||
/// <summary>
|
||||
/// Query parameters for filtering and paginating the filament list endpoint.
|
||||
/// All parameters are optional — defaults are applied when not provided.
|
||||
/// </summary>
|
||||
public class FilamentQueryParameters
|
||||
{
|
||||
/// <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 material modifier ID.</summary>
|
||||
public Guid? MaterialModifierId { get; set; }
|
||||
|
||||
/// <summary>Optional filter by brand name (case-insensitive partial match).</summary>
|
||||
public string? Brand { get; set; }
|
||||
|
||||
/// <summary>Optional filter by active status. True = active only, False = inactive only.</summary>
|
||||
public bool? IsActive { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user