44 lines
1.9 KiB
C#
44 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Volo.Abp.Application.Services;
|
|
|
|
namespace Erp.SqlQueryManager.Application.Contracts;
|
|
|
|
/// <summary>
|
|
/// Unified service for SQL Object Explorer and CRUD operations
|
|
/// </summary>
|
|
public interface ISqlObjectManagerAppService : IApplicationService
|
|
{
|
|
/// <summary>
|
|
/// Get all SQL objects for Object Explorer (Queries, SPs, Views, Functions, Tables, Templates)
|
|
/// </summary>
|
|
/// <param name="dataSourceCode">Data source code to filter objects</param>
|
|
/// <returns>Combined response with all object types</returns>
|
|
Task<SqlObjectExplorerDto> GetAllObjectsAsync(string dataSourceCode);
|
|
|
|
// Query Operations
|
|
Task<SqlQueryDto> CreateQueryAsync(CreateSqlQueryDto input);
|
|
Task<SqlQueryDto> UpdateQueryAsync(Guid id, UpdateSqlQueryDto input);
|
|
Task DeleteQueryAsync(Guid id);
|
|
Task<SqlQueryExecutionResultDto> ExecuteQueryAsync(ExecuteSqlQueryDto input);
|
|
Task<SqlQueryExecutionResultDto> ExecuteSavedQueryAsync(Guid id);
|
|
|
|
// Stored Procedure Operations
|
|
Task<SqlStoredProcedureDto> UpdateStoredProcedureAsync(Guid id, UpdateSqlStoredProcedureDto input);
|
|
Task DeleteStoredProcedureAsync(Guid id);
|
|
Task<SqlQueryExecutionResultDto> DeployStoredProcedureAsync(DeployStoredProcedureDto input);
|
|
|
|
// View Operations
|
|
Task<SqlViewDto> UpdateViewAsync(Guid id, UpdateSqlViewDto input);
|
|
Task DeleteViewAsync(Guid id);
|
|
Task<SqlQueryExecutionResultDto> DeployViewAsync(DeployViewDto input);
|
|
|
|
// Function Operations
|
|
Task<SqlFunctionDto> UpdateFunctionAsync(Guid id, UpdateSqlFunctionDto input);
|
|
Task DeleteFunctionAsync(Guid id);
|
|
Task<SqlQueryExecutionResultDto> DeployFunctionAsync(DeployFunctionDto input);
|
|
|
|
// Database Metadata Operations
|
|
Task<List<DatabaseColumnDto>> GetTableColumnsAsync(string dataSourceCode, string schemaName, string tableName);
|
|
}
|