using e_suite.Database.Audit;
using e_suite.Database.Audit.AuditEngine;

namespace e_suite.Database.Core;

public interface IRepository
{
    Task<T> TransactionAsync<T>(Func<Task<T>> func);
    Task TransactionAsync(Func<Task> action);
    Task<int> AddAdhocAuditEntry( AuditUserDetails auditUserDetails, AuditType auditType, Dictionary<string, Change> fields, CancellationToken cancellationToken);
}