sozsoft-platform/api/modules/Sozsoft.Mcp/Sozsoft.Mcp.Application.Contracts/IMcpDevelopAppService.cs

81 lines
3.5 KiB
C#
Raw Normal View History

2026-09-18 13:47:23 +00:00
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;
/// <summary>
/// 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.
/// </summary>
public interface IMcpDevelopAppService : IApplicationService
{
Task<McpDevGuideDto> GetDevGuideAsync(string? document, string? section);
Task<McpCreateTableResultDto> CreateTableAsync(McpCreateTableRequestDto input);
2026-10-07 18:46:45 +00:00
/// <summary>View/procedure/function scriptini iki saglayicinin seed klasorune yazar; veritabaninda calistirmaz.</summary>
Task<McpSqlObjectResultDto> SaveSqlObjectAsync(string sqlServerScript, string postgreSqlScript);
/// <summary>Tablo ya da view icin CRUD endpoint'lerini <c>crud/{Entity}.json</c> seed dosyasina yazar; kaydi DB Migrate ekler.</summary>
Task<McpCrudEndpointsResultDto> GenerateCrudEndpointsAsync(string entityName, string? operationTypes, string? objectType);
2026-09-18 13:47:23 +00:00
Task<List<WizardFileInfoDto>> GetWizardsAsync(string? search);
Task<McpWizardFileDto> GetWizardAsync(string fileName);
/// <summary>Deploy edilen wizard'in ozeti.</summary>
Task<WizardFileInfoDto?> DeployWizardAsync(McpWizardDeployRequestDto input);
/// <summary>Wizard'i siler; <paramref name="dropTables"/> acikken ekranin secilebilir tablosunu da dusurur.</summary>
Task<WizardDeleteResultDto> DeleteWizardAsync(string fileName, bool dropTables);
2026-09-18 13:47:23 +00:00
/// <summary>Deploy edilmis ekrani veri yazmadan dogrular.</summary>
Task<McpVerifyResultDto> VerifyWizardAsync(string fileName);
/// <summary>Id ya da basliga gore bulunan talebi, yalnizca Ready to Start durumundaysa In Progress'e alir.</summary>
Task<McpDevRequestDto> StartDevRequestAsync(string request);
/// <summary>Talebi durumuna dokunmadan okur; yarim kalan bir talebe donmek icindir.</summary>
Task<McpDevRequestDto> GetDevRequestAsync(string request);
/// <summary>
/// Talebin analizini yazar (var olani degistirir) ve talebi Analysis durumuna alir; yalnizca
2026-10-07 12:45:18 +00:00
/// Backlog ya da Analysis durumundaki talep analiz edilir.
/// </summary>
2026-10-07 12:45:18 +00:00
Task<McpDevRequestDto> SaveDevRequestAnalysisAsync(string request, string html);
/// <summary>
/// Analizin sonuna HTML ekler. Aciklama talebin yazildigi haliyle kalir; uretim notlari
/// analize yazilir.
/// </summary>
Task AppendDevRequestNoteAsync(string request, string html);
/// <summary>
/// Talebin SubTasks listesine tamamlanmis satirlar ekler; atanan kisi cagiran kullanici,
/// bitis tarihi bugundur.
/// </summary>
Task AddDevRequestSubTasksAsync(string request, List<string> titles);
2026-10-04 15:04:16 +00:00
/// <summary>Modul dokumanini adiyla ya da ait oldugu ekranin kodu/wizard dosyasiyla okur.</summary>
Task<ModuleDocDto> GetModuleDocAsync(string name);
/// <summary>
/// Modul dokumaninin elle yazilan bolumlerini kaydeder; otomatik envanter sunucuda yeniden
/// uretilir.
/// </summary>
Task<ModuleDocDto> SaveModuleDocAsync(string name, string content);
2026-09-18 13:47:23 +00:00
Task<List<McpComponentSummaryDto>> GetComponentsAsync(string? search);
Task<CustomComponentDto?> GetComponentAsync(string name);
Task<CustomComponentDto> SaveComponentAsync(McpComponentSaveRequestDto input);
Task DeleteComponentAsync(string name);
}