using Sufi.Demo.PeopleDirectory.Domain.Common; namespace Sufi.Demo.PeopleDirectory.Application.Contracts.Repositories { public interface IUnitOfWork : IDisposable { IAsyncRepository Repository() where T : AuditableEntity; Task Commit(CancellationToken cancellationToken); Task CommitAndRemoveCache(CancellationToken cancellationToken, params string[] cacheKeys); Task Rollback(); } }