using Microsoft.EntityFrameworkCore; using Musify.Domain.Entities; namespace Musify.Application.Contracts { public interface IDatabase { DbSet Users { get; } DbSet PlayLists { get; } DbSet Tracks { get; } DbSet LocalTracks { get; } DbSet ExternalTracks { get; } DbSet Artists { get; } DbSet TrackArtists { get; } DbSet UserHasTracks { get; } DbSet PlayListHasTracks { get; } DbSet Uploads { get; } DbSet UploadIntents { get; } DbSet ListeningHistories { get; } Task BeginTransactionAsync(System.Data.IsolationLevel isolationLevel, CancellationToken cancellationToken); Task SaveChangesAsync(CancellationToken cancellationToken); } }