using System.Threading.Tasks;
using Sozsoft.Mcp.Dtos;
using Volo.Abp.Application.Services;
namespace Sozsoft.Mcp;
///
/// Rapor kategorisi ve rapor sablonu uretimi. Yazma Adm.Reports.Categories ve
/// Adm.Reports.ReportTemplates ekranlarinin C/U/D sozlesmesinden gecer; ekran yetkisi,
/// kiraci filtresi ve seed senkronizasyonu oradaki yolla ayni sekilde uygulanir.
///
public interface IMcpReportAppService : IApplicationService
{
Task> GetReportTemplatesAsync(string? search);
/// Sablonu Id'si ya da adiyla, HTML icerigi ve yer tutuculariyla doner.
Task> GetReportTemplateAsync(string template);
/// Kategoriyi ada gore kaydeder: yoksa ekler, varsa gunceller.
Task> SaveReportCategoryAsync(McpReportCategorySaveRequestDto input);
/// Sablonu ada gore kaydeder: yoksa ekler, varsa gunceller.
Task> SaveReportTemplateAsync(McpReportTemplateSaveRequestDto input);
Task DeleteReportTemplateAsync(string template);
}