Files
satellite-provider/SatelliteProvider.Services.RouteManagement/RouteManagementServiceCollectionExtensions.cs
T
Oleksandr Bezdieniezhnykh 6f23120c49 [AZ-364] [AZ-360] Refactor C11+C08: decompose RouteProcessingService
Extracts RouteRegionMatcher, RouteCsvWriter, RouteSummaryWriter,
RouteImageRenderer, TilesZipBuilder, RegionFileCleaner from the
~750-LOC RouteProcessingService god-class. Moves TileInfo to its
own file as a sealed record. Replaces IServiceProvider scope-
locator with a direct IRegionService injection (folds AZ-360 / C08).
Updates DI registration and tests.

Tests: 133 / 133 unit + 5 / 5 smoke green; integration suite exit 0.
Pixel-equivalent stitched route image and byte-equivalent CSV /
summary / ZIP outputs verified through the smoke run.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 03:12:49 +03:00

21 lines
757 B
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using SatelliteProvider.Common.Interfaces;
namespace SatelliteProvider.Services.RouteManagement;
public static class RouteManagementServiceCollectionExtensions
{
public static IServiceCollection AddRouteManagement(this IServiceCollection services)
{
services.AddSingleton<RouteCsvWriter>();
services.AddSingleton<RouteSummaryWriter>();
services.AddSingleton<RouteImageRenderer>();
services.AddSingleton<TilesZipBuilder>();
services.AddSingleton<RegionFileCleaner>();
services.AddSingleton<IRouteService, RouteService>();
services.AddHostedService<RouteProcessingService>();
return services;
}
}