using System; using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Services; namespace Erp.SqlQueryManager.Application.Contracts; /// /// Unified service for SQL Object Explorer and CRUD operations /// public interface ISqlObjectManagerAppService : IApplicationService { /// /// Get all SQL objects for Object Explorer (Queries, SPs, Views, Functions, Tables, Templates) /// /// Data source code to filter objects /// Combined response with all object types Task GetAllObjectsAsync(string dataSourceCode); // Query Operations Task CreateQueryAsync(CreateSqlQueryDto input); Task UpdateQueryAsync(Guid id, UpdateSqlQueryDto input); Task DeleteQueryAsync(Guid id); Task ExecuteQueryAsync(ExecuteSqlQueryDto input); Task ExecuteSavedQueryAsync(Guid id); // Stored Procedure Operations Task UpdateStoredProcedureAsync(Guid id, UpdateSqlStoredProcedureDto input); Task DeleteStoredProcedureAsync(Guid id); Task DeployStoredProcedureAsync(DeployStoredProcedureDto input); // View Operations Task UpdateViewAsync(Guid id, UpdateSqlViewDto input); Task DeleteViewAsync(Guid id); Task DeployViewAsync(DeployViewDto input); // Function Operations Task UpdateFunctionAsync(Guid id, UpdateSqlFunctionDto input); Task DeleteFunctionAsync(Guid id); Task DeployFunctionAsync(DeployFunctionDto input); // Database Metadata Operations Task> GetTableColumnsAsync(string dataSourceCode, string schemaName, string tableName); // Smart Save - Analyzes SQL and saves to appropriate table with auto-deploy Task SmartSaveAsync(SmartSaveInputDto input); }