sozsoft-platform/api/modules/Sozsoft.Mcp/Sozsoft.Mcp.Application.Contracts/IMcpQueryAppService.cs
2026-09-10 17:40:43 +03:00

32 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using Sozsoft.Mcp.Dtos;
using Volo.Abp.Application.Services;
namespace Sozsoft.Mcp;
/// <summary>
/// MCP salt-okunur sorgu yuzeyi. Her sorgu istegin kapsamindaki veri kaynaginda, sunucu
/// kaydindaki satir tavaniyla ve parametreli olarak kosar.
/// </summary>
public interface IMcpQueryAppService : IApplicationService
{
/// <summary>
/// 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.
/// </summary>
Task<McpListQueryResultDto> QueryListAsync(McpListQueryRequestDto input);
/// <summary>
/// Tek bir SELECT ifadesi kosturur. Coklu ifade, DDL ve DML reddedilir; satir sayisi
/// sunucu kaydindaki tavana kirpilir.
/// </summary>
Task<McpQueryResultDto> RunSelectAsync(McpSelectRequestDto input);
/// <summary>Veri kaynagindaki view/procedure/function nesneleri ve Custom Endpoint'ler.</summary>
Task<List<McpSavedQueryDto>> GetSavedQueriesAsync(string? search = null);
/// <summary>Kayitli bir nesneyi ya da Custom Endpoint'i parametreleriyle cagirir.</summary>
Task<McpQueryResultDto> RunSavedQueryAsync(McpSavedQueryRequestDto input);
}