using System.Collections.Generic; using System.Threading.Tasks; using Sozsoft.Mcp.Dtos; using Sozsoft.Platform.DeveloperKit; using Sozsoft.Platform.ListForms; using Volo.Abp.Application.Services; namespace Sozsoft.Mcp; /// /// MCP gelistirme yuzeyi: tablo, ekran (wizard) ve custom component uretimi. Her islem uygulamadaki /// Wizard ve Custom Components servislerinden gecer; MCP yalnizca kapidir, ekranin /// kendi yetkilerini, seed dosyasi yazimini ve bagimlilik kurallarini atlamaz. /// public interface IMcpDevelopAppService : IApplicationService { Task GetDevGuideAsync(string? document, string? section); Task CreateTableAsync(McpCreateTableRequestDto input); /// View/procedure/function scriptini iki saglayicinin seed klasorune yazar; veritabaninda calistirmaz. Task SaveSqlObjectAsync(string sqlServerScript, string postgreSqlScript); /// Tablo ya da view icin CRUD endpoint'lerini crud/{Entity}.json seed dosyasina yazar; kaydi DB Migrate ekler. Task GenerateCrudEndpointsAsync(string entityName, string? operationTypes, string? objectType); Task> GetWizardsAsync(string? search); Task GetWizardAsync(string fileName); /// Deploy edilen wizard'in ozeti. Task DeployWizardAsync(McpWizardDeployRequestDto input); /// Wizard'i siler; acikken ekranin secilebilir tablosunu da dusurur. Task DeleteWizardAsync(string fileName, bool dropTables); /// Deploy edilmis ekrani veri yazmadan dogrular. Task VerifyWizardAsync(string fileName); /// Id ya da basliga gore bulunan talebi, yalnizca Ready to Start durumundaysa In Progress'e alir. Task StartDevRequestAsync(string request); /// Talebi durumuna dokunmadan okur; yarim kalan bir talebe donmek icindir. Task GetDevRequestAsync(string request); /// /// Talebin analizini yazar (var olani degistirir); analiz kosulsuz uretime hazirsa talebi /// Ready to Start'a, degilse Analysis durumuna alir. Yalnizca Backlog ya da Analysis durumundaki /// talep analiz edilir. /// Task SaveDevRequestAnalysisAsync(string request, string html, bool productionReady); /// /// Analizin sonuna HTML ekler. Aciklama talebin yazildigi haliyle kalir; uretim notlari /// analize yazilir. /// Task AppendDevRequestNoteAsync(string request, string html); /// /// Talebin SubTasks listesine tamamlanmis satirlar ekler; atanan kisi cagiran kullanici, /// bitis tarihi bugundur. /// Task AddDevRequestSubTasksAsync(string request, List titles); /// Modul dokumanini adiyla ya da ait oldugu ekranin kodu/wizard dosyasiyla okur. Task GetModuleDocAsync(string name); /// /// Modul dokumaninin elle yazilan bolumlerini kaydeder; otomatik envanter sunucuda yeniden /// uretilir. /// Task SaveModuleDocAsync(string name, string content); Task> GetComponentsAsync(string? search); Task GetComponentAsync(string name); Task SaveComponentAsync(McpComponentSaveRequestDto input); Task DeleteComponentAsync(string name); }