81 lines
3.8 KiB
C#
81 lines
3.8 KiB
C#
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<McpOutcome<McpDevGuideDto>> GetDevGuideAsync(string? document, string? section);
|
|
|
|
Task<McpOutcome<McpCreateTableResultDto>> CreateTableAsync(McpCreateTableRequestDto input);
|
|
|
|
/// <summary>View/procedure/function scriptini iki saglayicinin seed klasorune yazar; veritabaninda calistirmaz.</summary>
|
|
Task<McpOutcome<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<McpOutcome<McpCrudEndpointsResultDto>> GenerateCrudEndpointsAsync(string entityName, string? operationTypes, string? objectType);
|
|
|
|
Task<McpOutcome<List<WizardFileInfoDto>>> GetWizardsAsync(string? search);
|
|
|
|
Task<McpOutcome<McpWizardFileDto>> GetWizardAsync(string fileName);
|
|
|
|
/// <summary>Deploy edilen wizard'in ozeti.</summary>
|
|
Task<McpOutcome<WizardFileInfoDto?>> DeployWizardAsync(McpWizardDeployRequestDto input);
|
|
|
|
/// <summary>Wizard'i siler; <paramref name="dropTables"/> acikken ekranin secilebilir tablosunu da dusurur.</summary>
|
|
Task<McpOutcome<WizardDeleteResultDto>> DeleteWizardAsync(string fileName, bool dropTables);
|
|
|
|
/// <summary>Deploy edilmis ekrani veri yazmadan dogrular.</summary>
|
|
Task<McpOutcome<McpVerifyResultDto>> VerifyWizardAsync(string fileName);
|
|
|
|
/// <summary>Id ya da basliga gore bulunan talebi, yalnizca Ready to Start durumundaysa In Progress'e alir.</summary>
|
|
Task<McpOutcome<McpDevRequestDto>> StartDevRequestAsync(string request);
|
|
|
|
/// <summary>Talebi durumuna dokunmadan okur; yarim kalan bir talebe donmek icindir.</summary>
|
|
Task<McpOutcome<McpDevRequestDto>> GetDevRequestAsync(string request);
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
Task<McpOutcome<McpDevRequestDto>> SaveDevRequestAnalysisAsync(string request, string html, bool productionReady);
|
|
|
|
/// <summary>
|
|
/// Analizin sonuna HTML ekler. Aciklama talebin yazildigi haliyle kalir; uretim notlari
|
|
/// analize yazilir.
|
|
/// </summary>
|
|
Task<McpProblem?> AppendDevRequestNoteAsync(string request, string html);
|
|
|
|
/// <summary>
|
|
/// Talebin SubTasks listesine tamamlanmis satirlar ekler; atanan kisi cagiran kullanici,
|
|
/// bitis tarihi bugundur.
|
|
/// </summary>
|
|
Task<McpProblem?> AddDevRequestSubTasksAsync(string request, List<string> titles);
|
|
|
|
/// <summary>Modul dokumanini adiyla ya da ait oldugu ekranin kodu/wizard dosyasiyla okur.</summary>
|
|
Task<McpOutcome<ModuleDocDto>> GetModuleDocAsync(string name);
|
|
|
|
/// <summary>
|
|
/// Modul dokumaninin elle yazilan bolumlerini kaydeder; otomatik envanter sunucuda yeniden
|
|
/// uretilir.
|
|
/// </summary>
|
|
Task<McpOutcome<ModuleDocDto>> SaveModuleDocAsync(string name, string content);
|
|
|
|
Task<McpOutcome<List<McpComponentSummaryDto>>> GetComponentsAsync(string? search);
|
|
|
|
Task<McpOutcome<CustomComponentDto?>> GetComponentAsync(string name);
|
|
|
|
Task<McpOutcome<CustomComponentDto>> SaveComponentAsync(McpComponentSaveRequestDto input);
|
|
|
|
Task<McpProblem?> DeleteComponentAsync(string name);
|
|
}
|