using Microsoft.EntityFrameworkCore; using Musify.Domain.Entities; namespace Musify.Application.Contracts { public interface IDatabase { DbSet Users { get; } DbSet PlayLists { get; } DbSet Albums { get; } DbSet AlbumHasTracks { get; } DbSet Tracks { get; } DbSet UserHasTracks { get; } DbSet PlayListHasTracks { get; } DbSet Mixes { get; } DbSet MixItems { get; } DbSet Uploads { get; } DbSet UploadIntents { get; } DbSet ListeningHistories { get; } DbSet TrackLikes { get; } DbSet TrackTags { get; } DbSet UserFollows { get; } Task BeginTransactionAsync(System.Data.IsolationLevel isolationLevel, CancellationToken cancellationToken); Task SaveChangesAsync(CancellationToken cancellationToken); } }