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>
{
///
/// Execute a SQL query
///
Task ExecuteQueryAsync(ExecuteSqlQueryDto input);
///
/// Execute a saved query by ID
///
Task ExecuteSavedQueryAsync(Guid id);
///
/// Validate SQL query syntax
///
Task<(bool IsValid, string ErrorMessage)> ValidateQueryAsync(string sql);
///
/// Activate query
///
Task ActivateAsync(Guid id);
///
/// Archive query
///
Task ArchiveAsync(Guid id);
}