using DysonNetwork.Shared.Proto; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace DysonNetwork.Shared.Registry; public static class ServiceInjectionHelper { public static IServiceCollection AddRingService(this IServiceCollection services) { services .AddGrpcClient(o => o.Address = new Uri("https://_grpc.ring")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } public static IServiceCollection AddAuthService(this IServiceCollection services) { services .AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); services .AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } public static IServiceCollection AddAccountService(this IServiceCollection services) { services .AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass") ) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); services.AddSingleton(); services .AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass") ) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.pass")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } public static IServiceCollection AddDriveService(this IServiceCollection services) { services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.drive")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.drive")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } public static IServiceCollection AddPublisherService(this IServiceCollection services) { services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.sphere")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } public static IServiceCollection AddDevelopService(this IServiceCollection services) { services.AddGrpcClient(o => o.Address = new Uri("https://_grpc.develop")) .ConfigurePrimaryHttpMessageHandler(_ => new HttpClientHandler() { ServerCertificateCustomValidationCallback = (_, _, _, _) => true } ); return services; } }