using System; using System.Threading.Tasks; namespace Bit.Core.Repositories { public interface IRepository where TId : IEquatable where T : class, IDataObject { Task GetByIdAsync(TId id); Task CreateAsync(T obj); Task ReplaceAsync(T obj); Task UpsertAsync(T obj); Task DeleteAsync(T obj); } }