diff --git a/EnvelopeGenerator.ServiceHost/Extensions/DependencyInjection.cs b/EnvelopeGenerator.ServiceHost/Extensions/DependencyInjection.cs index 79736044..c9950e35 100644 --- a/EnvelopeGenerator.ServiceHost/Extensions/DependencyInjection.cs +++ b/EnvelopeGenerator.ServiceHost/Extensions/DependencyInjection.cs @@ -1,6 +1,8 @@ +using EnvelopeGenerator.Application.ThirdPartyModules.Queries; using EnvelopeGenerator.ServiceHost.Jobs; using EnvelopeGenerator.ServiceHost.Jobs.FinalizeDocument; using GdPicture14; +using MediatR; using Microsoft.Extensions.Options; namespace EnvelopeGenerator.ServiceHost.Extensions; @@ -26,12 +28,14 @@ public static class DependencyInjection //TODO: Check lifetime of services. They might be singleton or scoped. services.AddTransient(); - // Add LicenseManager + // Add LicenseManager – license key is read from DB via MediatR services.AddTransient(provider => { - var options = provider.GetRequiredService>().Value; + using var scope = provider.CreateScope(); + var mediator = scope.ServiceProvider.GetRequiredService(); + var licenseKey = mediator.Send(new ReadThirdPartyModuleLicenseQuery { Name = "GdPicture" }).GetAwaiter().GetResult(); var licenseManager = new LicenseManager(); - licenseManager.RegisterKEY(options.GdPictureLicenseKey); + licenseManager.RegisterKEY(licenseKey); return licenseManager; }); services.AddTransient();