mirror of
				https://github.com/Kareadita/Kavita.git
				synced 2025-11-04 03:27:05 -05:00 
			
		
		
		
	* Fixed an issue where ScanSeries would not fetch all the entities and thus files would get duplicated on the Chapter * Remove building extra language binaries on build. * Fixed an issue where first scan would cause an issue with websocket due to trying to send NaN over the wire. * Fixed an issue where on new scans scan in progress indicators wouldn't turn off due to the way we were consuming events off the pipe. * Ensure login page doesn't flash on first load * Don't process touch events at all unless selection is enabled.
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using API.Data;
 | 
						|
using API.Helpers;
 | 
						|
using API.Interfaces;
 | 
						|
using API.Interfaces.Services;
 | 
						|
using API.Services;
 | 
						|
using API.Services.Tasks;
 | 
						|
using API.SignalR.Presence;
 | 
						|
using Kavita.Common;
 | 
						|
using Microsoft.AspNetCore.Hosting;
 | 
						|
using Microsoft.EntityFrameworkCore;
 | 
						|
using Microsoft.Extensions.Configuration;
 | 
						|
using Microsoft.Extensions.DependencyInjection;
 | 
						|
using Microsoft.Extensions.Hosting;
 | 
						|
using Microsoft.Extensions.Logging;
 | 
						|
 | 
						|
namespace API.Extensions
 | 
						|
{
 | 
						|
    public static class ApplicationServiceExtensions
 | 
						|
    {
 | 
						|
        public static void AddApplicationServices(this IServiceCollection services, IConfiguration config, IWebHostEnvironment env)
 | 
						|
        {
 | 
						|
            services.AddAutoMapper(typeof(AutoMapperProfiles).Assembly);
 | 
						|
            services.AddScoped<IStatsService, StatsService>();
 | 
						|
            services.AddScoped<ITaskScheduler, TaskScheduler>();
 | 
						|
            services.AddScoped<IDirectoryService, DirectoryService>();
 | 
						|
            services.AddScoped<ITokenService, TokenService>();
 | 
						|
            services.AddScoped<ICacheService, CacheService>();
 | 
						|
            services.AddScoped<IUnitOfWork, UnitOfWork>();
 | 
						|
            services.AddScoped<IScannerService, ScannerService>();
 | 
						|
            services.AddScoped<IArchiveService, ArchiveService>();
 | 
						|
            services.AddScoped<IMetadataService, MetadataService>();
 | 
						|
            services.AddScoped<IBackupService, BackupService>();
 | 
						|
            services.AddScoped<ICleanupService, CleanupService>();
 | 
						|
            services.AddScoped<IBookService, BookService>();
 | 
						|
            services.AddScoped<IImageService, ImageService>();
 | 
						|
            services.AddScoped<IVersionUpdaterService, VersionUpdaterService>();
 | 
						|
            services.AddScoped<IDownloadService, DownloadService>();
 | 
						|
            services.AddScoped<IReaderService, ReaderService>();
 | 
						|
            services.AddScoped<IAccountService, AccountService>();
 | 
						|
 | 
						|
            services.AddScoped<IPresenceTracker, PresenceTracker>();
 | 
						|
 | 
						|
            services.AddSqLite(config, env);
 | 
						|
            services.AddLogging(config);
 | 
						|
            services.AddSignalR(opt => opt.EnableDetailedErrors = true);
 | 
						|
        }
 | 
						|
 | 
						|
        private static void AddSqLite(this IServiceCollection services, IConfiguration config,
 | 
						|
            IWebHostEnvironment env)
 | 
						|
        {
 | 
						|
            services.AddDbContext<DataContext>(options =>
 | 
						|
            {
 | 
						|
                options.UseSqlite(config.GetConnectionString("DefaultConnection"));
 | 
						|
                options.EnableSensitiveDataLogging(env.IsDevelopment() || Configuration.LogLevel.Equals("Debug"));
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        private static void AddLogging(this IServiceCollection services, IConfiguration config)
 | 
						|
        {
 | 
						|
          services.AddLogging(loggingBuilder =>
 | 
						|
          {
 | 
						|
            var loggingSection = config.GetSection("Logging");
 | 
						|
            loggingBuilder.AddFile(loggingSection);
 | 
						|
          });
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |