using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces.IAdmin;

public interface IReportRepository
{
    Task<List<Atreport>> ListAsync();
    Task<Atreport?> GetByIdAsync(int id);
    Task<Atreport?> GetByNameAsync(string name);
    Task AddAsync(Atreport entity);
    Task UpdateAsync(Atreport entity);
    Task DeleteAsync(Atreport entity);
    Task<(List<string> Columns, List<object[]> Rows)> ExecuteReportQueryAsync(string sql);
    Task<bool> ValidateSqlAsync(string sql);
}
