diff options
| author | Patrick Barron <barronpm@gmail.com> | 2023-01-16 10:06:25 -0500 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2023-01-16 10:06:25 -0500 |
| commit | 2a86723caf271be73dca39c6dd3b5f11044eac28 (patch) | |
| tree | 227b0704ee1bf08d2ed305ae6617f62c85982a5c | |
| parent | 921618368b389bb90a4f9bd1e87fcb31e88ce4f3 (diff) | |
Use file-scoped namespace in db context
| -rw-r--r-- | Jellyfin.Server.Implementations/JellyfinDb.cs | 177 |
1 files changed, 88 insertions, 89 deletions
diff --git a/Jellyfin.Server.Implementations/JellyfinDb.cs b/Jellyfin.Server.Implementations/JellyfinDb.cs index e34e12e3f..644310080 100644 --- a/Jellyfin.Server.Implementations/JellyfinDb.cs +++ b/Jellyfin.Server.Implementations/JellyfinDb.cs @@ -8,154 +8,153 @@ using Jellyfin.Data.Entities.Security; using Jellyfin.Data.Interfaces; using Microsoft.EntityFrameworkCore; -namespace Jellyfin.Server.Implementations +namespace Jellyfin.Server.Implementations; + +/// <inheritdoc/> +public class JellyfinDb : DbContext { - /// <inheritdoc/> - public class JellyfinDb : DbContext + /// <summary> + /// Initializes a new instance of the <see cref="JellyfinDb"/> class. + /// </summary> + /// <param name="options">The database context options.</param> + public JellyfinDb(DbContextOptions<JellyfinDb> options) : base(options) { - /// <summary> - /// Initializes a new instance of the <see cref="JellyfinDb"/> class. - /// </summary> - /// <param name="options">The database context options.</param> - public JellyfinDb(DbContextOptions<JellyfinDb> options) : base(options) - { - } + } - /// <summary> - /// Gets or sets the default connection string. - /// </summary> - public static string ConnectionString { get; set; } = @"Data Source=jellyfin.db"; + /// <summary> + /// Gets or sets the default connection string. + /// </summary> + public static string ConnectionString { get; set; } = @"Data Source=jellyfin.db"; - public virtual DbSet<AccessSchedule> AccessSchedules { get; set; } + public virtual DbSet<AccessSchedule> AccessSchedules { get; set; } - public virtual DbSet<ActivityLog> ActivityLogs { get; set; } + public virtual DbSet<ActivityLog> ActivityLogs { get; set; } - public virtual DbSet<ApiKey> ApiKeys { get; set; } + public virtual DbSet<ApiKey> ApiKeys { get; set; } - public virtual DbSet<Device> Devices { get; set; } + public virtual DbSet<Device> Devices { get; set; } - public virtual DbSet<DeviceOptions> DeviceOptions { get; set; } + public virtual DbSet<DeviceOptions> DeviceOptions { get; set; } - public virtual DbSet<DisplayPreferences> DisplayPreferences { get; set; } + public virtual DbSet<DisplayPreferences> DisplayPreferences { get; set; } - public virtual DbSet<ImageInfo> ImageInfos { get; set; } + public virtual DbSet<ImageInfo> ImageInfos { get; set; } - public virtual DbSet<ItemDisplayPreferences> ItemDisplayPreferences { get; set; } + public virtual DbSet<ItemDisplayPreferences> ItemDisplayPreferences { get; set; } - public virtual DbSet<CustomItemDisplayPreferences> CustomItemDisplayPreferences { get; set; } + public virtual DbSet<CustomItemDisplayPreferences> CustomItemDisplayPreferences { get; set; } - public virtual DbSet<Permission> Permissions { get; set; } + public virtual DbSet<Permission> Permissions { get; set; } - public virtual DbSet<Preference> Preferences { get; set; } + public virtual DbSet<Preference> Preferences { get; set; } - public virtual DbSet<User> Users { get; set; } + public virtual DbSet<User> Users { get; set; } - /*public virtual DbSet<Artwork> Artwork { get; set; } + /*public virtual DbSet<Artwork> Artwork { get; set; } - public virtual DbSet<Book> Books { get; set; } + public virtual DbSet<Book> Books { get; set; } - public virtual DbSet<BookMetadata> BookMetadata { get; set; } + public virtual DbSet<BookMetadata> BookMetadata { get; set; } - public virtual DbSet<Chapter> Chapters { get; set; } + public virtual DbSet<Chapter> Chapters { get; set; } - public virtual DbSet<Collection> Collections { get; set; } + public virtual DbSet<Collection> Collections { get; set; } - public virtual DbSet<CollectionItem> CollectionItems { get; set; } + public virtual DbSet<CollectionItem> CollectionItems { get; set; } - public virtual DbSet<Company> Companies { get; set; } + public virtual DbSet<Company> Companies { get; set; } - public virtual DbSet<CompanyMetadata> CompanyMetadata { get; set; } + public virtual DbSet<CompanyMetadata> CompanyMetadata { get; set; } - public virtual DbSet<CustomItem> CustomItems { get; set; } + public virtual DbSet<CustomItem> CustomItems { get; set; } - public virtual DbSet<CustomItemMetadata> CustomItemMetadata { get; set; } + public virtual DbSet<CustomItemMetadata> CustomItemMetadata { get; set; } - public virtual DbSet<Episode> Episodes { get; set; } + public virtual DbSet<Episode> Episodes { get; set; } - public virtual DbSet<EpisodeMetadata> EpisodeMetadata { get; set; } + public virtual DbSet<EpisodeMetadata> EpisodeMetadata { get; set; } - public virtual DbSet<Genre> Genres { get; set; } + public virtual DbSet<Genre> Genres { get; set; } - public virtual DbSet<Group> Groups { get; set; } + public virtual DbSet<Group> Groups { get; set; } - public virtual DbSet<Library> Libraries { get; set; } + public virtual DbSet<Library> Libraries { get; set; } - public virtual DbSet<LibraryItem> LibraryItems { get; set; } + public virtual DbSet<LibraryItem> LibraryItems { get; set; } - public virtual DbSet<LibraryRoot> LibraryRoot { get; set; } + public virtual DbSet<LibraryRoot> LibraryRoot { get; set; } - public virtual DbSet<MediaFile> MediaFiles { get; set; } + public virtual DbSet<MediaFile> MediaFiles { get; set; } - public virtual DbSet<MediaFileStream> MediaFileStream { get; set; } + public virtual DbSet<MediaFileStream> MediaFileStream { get; set; } - public virtual DbSet<Metadata> Metadata { get; set; } + public virtual DbSet<Metadata> Metadata { get; set; } - public virtual DbSet<MetadataProvider> MetadataProviders { get; set; } + public virtual DbSet<MetadataProvider> MetadataProviders { get; set; } - public virtual DbSet<MetadataProviderId> MetadataProviderIds { get; set; } + public virtual DbSet<MetadataProviderId> MetadataProviderIds { get; set; } - public virtual DbSet<Movie> Movies { get; set; } + public virtual DbSet<Movie> Movies { get; set; } - public virtual DbSet<MovieMetadata> MovieMetadata { get; set; } + public virtual DbSet<MovieMetadata> MovieMetadata { get; set; } - public virtual DbSet<MusicAlbum> MusicAlbums { get; set; } + public virtual DbSet<MusicAlbum> MusicAlbums { get; set; } - public virtual DbSet<MusicAlbumMetadata> MusicAlbumMetadata { get; set; } + public virtual DbSet<MusicAlbumMetadata> MusicAlbumMetadata { get; set; } - public virtual DbSet<Person> People { get; set; } + public virtual DbSet<Person> People { get; set; } - public virtual DbSet<PersonRole> PersonRoles { get; set; } + public virtual DbSet<PersonRole> PersonRoles { get; set; } - public virtual DbSet<Photo> Photo { get; set; } + public virtual DbSet<Photo> Photo { get; set; } - public virtual DbSet<PhotoMetadata> PhotoMetadata { get; set; } + public virtual DbSet<PhotoMetadata> PhotoMetadata { get; set; } - public virtual DbSet<ProviderMapping> ProviderMappings { get; set; } + public virtual DbSet<ProviderMapping> ProviderMappings { get; set; } - public virtual DbSet<Rating> Ratings { get; set; } + public virtual DbSet<Rating> Ratings { get; set; } - /// <summary> - /// Repository for global::Jellyfin.Data.Entities.RatingSource - This is the entity to - /// store review ratings, not age ratings. - /// </summary> - public virtual DbSet<RatingSource> RatingSources { get; set; } + /// <summary> + /// Repository for global::Jellyfin.Data.Entities.RatingSource - This is the entity to + /// store review ratings, not age ratings. + /// </summary> + public virtual DbSet<RatingSource> RatingSources { get; set; } - public virtual DbSet<Release> Releases { get; set; } + public virtual DbSet<Release> Releases { get; set; } - public virtual DbSet<Season> Seasons { get; set; } + public virtual DbSet<Season> Seasons { get; set; } - public virtual DbSet<SeasonMetadata> SeasonMetadata { get; set; } + public virtual DbSet<SeasonMetadata> SeasonMetadata { get; set; } - public virtual DbSet<Series> Series { get; set; } + public virtual DbSet<Series> Series { get; set; } - public virtual DbSet<SeriesMetadata> SeriesMetadata { get; set; } + public virtual DbSet<SeriesMetadata> SeriesMetadata { get; set; } - public virtual DbSet<Track> Tracks { get; set; } + public virtual DbSet<Track> Tracks { get; set; } - public virtual DbSet<TrackMetadata> TrackMetadata { get; set; }*/ + public virtual DbSet<TrackMetadata> TrackMetadata { get; set; }*/ - /// <inheritdoc/> - public override int SaveChanges() + /// <inheritdoc/> + public override int SaveChanges() + { + foreach (var saveEntity in ChangeTracker.Entries() + .Where(e => e.State == EntityState.Modified) + .Select(entry => entry.Entity) + .OfType<IHasConcurrencyToken>()) { - foreach (var saveEntity in ChangeTracker.Entries() - .Where(e => e.State == EntityState.Modified) - .Select(entry => entry.Entity) - .OfType<IHasConcurrencyToken>()) - { - saveEntity.OnSavingChanges(); - } - - return base.SaveChanges(); + saveEntity.OnSavingChanges(); } - /// <inheritdoc /> - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.SetDefaultDateTimeKind(DateTimeKind.Utc); - base.OnModelCreating(modelBuilder); + return base.SaveChanges(); + } - // Configuration for each entity is in it's own class inside 'ModelConfiguration'. - modelBuilder.ApplyConfigurationsFromAssembly(typeof(JellyfinDb).Assembly); - } + /// <inheritdoc /> + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.SetDefaultDateTimeKind(DateTimeKind.Utc); + base.OnModelCreating(modelBuilder); + + // Configuration for each entity is in it's own class inside 'ModelConfiguration'. + modelBuilder.ApplyConfigurationsFromAssembly(typeof(JellyfinDb).Assembly); } } |
