erp-platform/api/modules/Erp.SqlQueryManager/Erp.SqlQueryManager.Application.Contracts/ISqlQueryAppService.cs
2025-12-05 11:56:53 +03:00

39 lines
981 B
C#

using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Erp.SqlQueryManager.Application.Contracts;
public interface ISqlQueryAppService : ICrudAppService<
SqlQueryDto,
Guid,
PagedAndSortedResultRequestDto,
CreateSqlQueryDto,
UpdateSqlQueryDto>
{
/// <summary>
/// Execute a SQL query
/// </summary>
Task<SqlQueryExecutionResultDto> ExecuteQueryAsync(ExecuteSqlQueryDto input);
/// <summary>
/// Execute a saved query by ID
/// </summary>
Task<SqlQueryExecutionResultDto> ExecuteSavedQueryAsync(Guid id);
/// <summary>
/// Validate SQL query syntax
/// </summary>
Task<(bool IsValid, string ErrorMessage)> ValidateQueryAsync(string sql);
/// <summary>
/// Activate query
/// </summary>
Task ActivateAsync(Guid id);
/// <summary>
/// Archive query
/// </summary>
Task ArchiveAsync(Guid id);
}