📄
src/Infrastructure/Database/ServiceCollectionExtensions.cs
using Jellyfin.Database.Implementations; using Jellyfin.Database.Implementations.Locking; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace Slopper.Infrastructure.Database; public static class ServiceCollectionExtensions { public static IServiceCollection AddJellyfinDatabase(this IServiceCollection services) => services .AddSingleton<IJellyfinDatabaseProvider, JellyfinDatabaseProvider>() .AddSingleton<IEntityFrameworkCoreLockingBehavior, EntityFrameworkCoreLockingBehavior>() .AddDbContext<JellyfinDbContext>( (sp, options) => options.UseSqlite(sp.GetRequiredService<IConfiguration>().GetConnectionString("database")) ); }