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; }
}