Class SearchProjectsRequest
- Namespace
- Builvero.Application.DTOs.Project
- Assembly
- Builvero.Application.dll
Request model for searching and filtering projects with pagination.
public class SearchProjectsRequest
- Inheritance
-
SearchProjectsRequest
- Inherited Members
Remarks
This DTO supports two search modes:
Search is case-insensitive and matches project names and descriptions.Properties
BuilderTagId
Gets or sets the builder tag identifier to filter projects by builder tag (legacy field).
public Guid? BuilderTagId { get; set; }
Property Value
- Guid?
- Request model for searching and filtering projects with pagination.
Remarks
This field is used for backward compatibility in legacy search mode.
Category
Gets or sets the project category filter as a string (e.g., "Software", "Hardware", "Design").
public string? Category { get; set; }
Property Value
- string
- Request model for searching and filtering projects with pagination.
Remarks
Must match a valid ProjectCategory enum value. Invalid values are ignored.
ExperienceLevel
Gets or sets the preferred experience level filter (legacy field).
public string? ExperienceLevel { get; set; }
Property Value
- string
- Request model for searching and filtering projects with pagination.
Remarks
This field is used for backward compatibility in legacy search mode.
Page
Gets or sets the page number for pagination (1-based).
public int Page { get; set; }
Property Value
- int
- Request model for searching and filtering projects with pagination.
Remarks
Defaults to 1 if not specified.
PageSize
Gets or sets the number of projects per page.
public int PageSize { get; set; }
Property Value
- int
- Request model for searching and filtering projects with pagination.
Remarks
Defaults to 20 if not specified.
SearchTerm
Gets or sets the search term for filtering projects by name or description (legacy field).
public string? SearchTerm { get; set; }
Property Value
- string
- Request model for searching and filtering projects with pagination.
Remarks
Skills
Gets or sets the list of skill identifiers to filter projects by required skills.
public List<Guid>? Skills { get; set; }
Property Value
Remarks
When provided, triggers advanced search mode. Projects must have at least one of the specified skills.
Status
Gets or sets the project status filter as a string (e.g., "Idea", "InProgress", "Completed").
public string? Status { get; set; }
Property Value
- string
- Request model for searching and filtering projects with pagination.
Remarks
Must match a valid ProjectStatus enum value. Invalid values are ignored. When provided, triggers advanced search mode.
Text
Gets or sets the search term for filtering projects by name or description (preferred field).
public string? Text { get; set; }
Property Value
- string
- Request model for searching and filtering projects with pagination.
Remarks
If both SearchTerm and Text are provided, this field takes precedence.