using System.Linq.Expressions; namespace Netina.Repository.Repositories.Marten; public interface IMartenRepository : IScopedDependency where TMartenEntity : IMartenEntity { Task> GetEntitiesAsync(CancellationToken cancellation = default); Task> GetEntitiesAsync(Expression> expression, CancellationToken cancellation = default); Task GetEntityAsync(Guid id, CancellationToken cancellation = default); Task GetEntityAsync(Expression> expression, CancellationToken cancellation = default); Task AddOrUpdateEntityAsync(TMartenEntity entity, CancellationToken cancellation = default); Task RemoveEntityAsync(TMartenEntity entity, CancellationToken cancellation = default); }