using System.Collections.Generic;
using System.Threading.Tasks;
using Sozsoft.Mcp.Dtos;
using Volo.Abp.Application.Services;
namespace Sozsoft.Mcp;
///
/// MCP salt-okunur sorgu yuzeyi. Her sorgu istegin kapsamindaki veri kaynaginda, sunucu
/// kaydindaki satir tavaniyla ve parametreli olarak kosar.
///
public interface IMcpQueryAppService : IApplicationService
{
///
/// Bir listenin verisini ekranin kendi sorgusuyla okur: liste okuma yetkisi, alan bazli
/// okuma yetkisi, kiraci/sube filtreleri ve kullanici ozellestirmeleri uygulamadaki gibi
/// gecerlidir. Normal kullanicinin veri okuma yolu budur.
///
Task QueryListAsync(McpListQueryRequestDto input);
///
/// Tek bir SELECT ifadesi kosturur. Coklu ifade, DDL ve DML reddedilir; satir sayisi
/// sunucu kaydindaki tavana kirpilir.
///
Task RunSelectAsync(McpSelectRequestDto input);
/// Veri kaynagindaki view/procedure/function nesneleri ve Custom Endpoint'ler.
Task> GetSavedQueriesAsync(string? search = null);
/// Kayitli bir nesneyi ya da Custom Endpoint'i parametreleriyle cagirir.
Task RunSavedQueryAsync(McpSavedQueryRequestDto input);
}