using System.Collections.Generic;
namespace Sozsoft.SqlQueryManager.Domain.Services;
///
/// Provides SQL templates for creating database objects
///
public interface ISqlTemplateProvider
{
/// Get stored procedure template.
string GetStoredProcedureTemplate(string procedureName, string schemaName = "dbo");
/// Get view template.
string GetViewTemplate(string viewName, string schemaName = "dbo", bool withSchemaBinding = false);
///
/// Get function template. functionType: "Scalar" | "TableValued" | "InlineTableValued"
///
string GetFunctionTemplate(string functionName, string functionType = "Scalar", string schemaName = "dbo");
/// Get query template with common patterns.
string GetQueryTemplate(string queryType);
/// Get available query template types.
List GetAvailableQueryTemplates();
}
public class QueryTemplateInfo
{
public string Type { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}