using System.ComponentModel.DataAnnotations; namespace RoslynBridge.WebApi.Models; /// /// Request model for Roslyn query operations /// public class RoslynQueryRequest { /// /// Type of query to execute (e.g., "getsymbol", "getdocument", "findreferences") /// [Required] public string QueryType { get; set; } = string.Empty; /// /// File path for file-based operations /// public string? FilePath { get; set; } /// /// Symbol name for symbol-based operations /// public string? SymbolName { get; set; } /// /// Line number (1-based) for position-based operations /// public int? Line { get; set; } /// /// Column number (0-based) for position-based operations /// public int? Column { get; set; } /// /// Additional parameters for the query /// public Dictionary? Parameters { get; set; } /// /// Project name for project operations /// public string? ProjectName { get; set; } /// /// Package name for NuGet operations /// public string? PackageName { get; set; } /// /// Version for NuGet package operations /// public string? Version { get; set; } /// /// Build configuration (Debug/Release) /// public string? Configuration { get; set; } /// /// Directory path for directory operations /// public string? DirectoryPath { get; set; } }