#pragma warning disable CS1591 using System.Linq; using Jellyfin.Data; using Jellyfin.Data.Entities; using Microsoft.EntityFrameworkCore; namespace Jellyfin.Server.Implementations { /// public partial class JellyfinDb : DbContext { /// /// Initializes a new instance of the class. /// /// The database context options. public JellyfinDb(DbContextOptions options) : base(options) { } /// /// Gets or sets the default connection string. /// public static string ConnectionString { get; set; } = @"Data Source=jellyfin.db"; public virtual DbSet AccessSchedules { get; set; } public virtual DbSet ActivityLogs { get; set; } public virtual DbSet ImageInfos { get; set; } public virtual DbSet Permissions { get; set; } public virtual DbSet Preferences { get; set; } public virtual DbSet Users { get; set; } /*public virtual DbSet Artwork { get; set; } public virtual DbSet Books { get; set; } public virtual DbSet BookMetadata { get; set; } public virtual DbSet Chapters { get; set; } public virtual DbSet Collections { get; set; } public virtual DbSet CollectionItems { get; set; } public virtual DbSet Companies { get; set; } public virtual DbSet CompanyMetadata { get; set; } public virtual DbSet CustomItems { get; set; } public virtual DbSet CustomItemMetadata { get; set; } public virtual DbSet Episodes { get; set; } public virtual DbSet EpisodeMetadata { get; set; } public virtual DbSet Genres { get; set; } public virtual DbSet Groups { get; set; } public virtual DbSet Libraries { get; set; } public virtual DbSet LibraryItems { get; set; } public virtual DbSet LibraryRoot { get; set; } public virtual DbSet MediaFiles { get; set; } public virtual DbSet MediaFileStream { get; set; } public virtual DbSet Metadata { get; set; } public virtual DbSet MetadataProviders { get; set; } public virtual DbSet MetadataProviderIds { get; set; } public virtual DbSet Movies { get; set; } public virtual DbSet MovieMetadata { get; set; } public virtual DbSet MusicAlbums { get; set; } public virtual DbSet MusicAlbumMetadata { get; set; } public virtual DbSet People { get; set; } public virtual DbSet PersonRoles { get; set; } public virtual DbSet Photo { get; set; } public virtual DbSet PhotoMetadata { get; set; } public virtual DbSet ProviderMappings { get; set; } public virtual DbSet Ratings { get; set; } /// /// Repository for global::Jellyfin.Data.Entities.RatingSource - This is the entity to /// store review ratings, not age ratings /// public virtual DbSet RatingSources { get; set; } public virtual DbSet Releases { get; set; } public virtual DbSet Seasons { get; set; } public virtual DbSet SeasonMetadata { get; set; } public virtual DbSet Series { get; set; } public virtual DbSet SeriesMetadata { get; set; } public virtual DbSet Tracks { get; set; } public virtual DbSet TrackMetadata { get; set; }*/ /// public override int SaveChanges() { foreach (var saveEntity in ChangeTracker.Entries() .Where(e => e.State == EntityState.Modified) .Select(entry => entry.Entity) .OfType()) { saveEntity.OnSavingChanges(); } return base.SaveChanges(); } /// protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { CustomInit(optionsBuilder); } /// protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); OnModelCreatingImpl(modelBuilder); modelBuilder.HasDefaultSchema("jellyfin"); /*modelBuilder.Entity().HasIndex(t => t.Kind); modelBuilder.Entity().HasIndex(t => t.Name) .IsUnique(); modelBuilder.Entity().HasIndex(t => t.UrlId) .IsUnique();*/ OnModelCreatedImpl(modelBuilder); } partial void CustomInit(DbContextOptionsBuilder optionsBuilder); partial void OnModelCreatingImpl(ModelBuilder modelBuilder); partial void OnModelCreatedImpl(ModelBuilder modelBuilder); } }