private void ConfigureNotificationApiEmailService(IServiceCollection services) { services.AddTransient <INotificationsApi>(x => { var apiConfiguration = new Notifications.Api.Client.Configuration.NotificationsApiClientConfiguration { ApiBaseUrl = _applyConfig.NotificationsApiClientConfiguration.ApiBaseUrl, #pragma warning disable 618 ClientToken = _applyConfig.NotificationsApiClientConfiguration.ClientToken, #pragma warning restore 618 ClientId = _applyConfig.NotificationsApiClientConfiguration.ClientId, ClientSecret = _applyConfig.NotificationsApiClientConfiguration.ClientSecret, IdentifierUri = _applyConfig.NotificationsApiClientConfiguration.IdentifierUri, Tenant = _applyConfig.NotificationsApiClientConfiguration.Tenant }; var httpClient = string.IsNullOrWhiteSpace(apiConfiguration.ClientId) ? new HttpClientBuilder().WithBearerAuthorisationHeader(new JwtBearerTokenGenerator(apiConfiguration)).Build() : new HttpClientBuilder().WithBearerAuthorisationHeader(new AzureADBearerTokenGenerator(apiConfiguration)).Build(); return(new NotificationsApi(httpClient, apiConfiguration)); }); services.AddTransient <IEmailTokenService, EmailTokenService>(); services.AddTransient <IApplicationUpdatedEmailService, ApplicationUpdatedEmailService>(); }
private void ConfigureDependencyInjection(IServiceCollection services) { services.AddTransient <ITokenService, TokenService>(); services.AddTransient <IHttpContextAccessor, HttpContextAccessor>(); services.AddSingleton <IConfigurationService>(sp => new ConfigurationService( sp.GetService <IHostingEnvironment>(), _configuration["EnvironmentName"], _configuration["ConfigurationStorageConnectionString"], "1.0", "SFA.DAS.ApplyService")); services.AddTransient <ISessionService>(s => new SessionService( s.GetService <IHttpContextAccessor>(), _configuration["EnvironmentName"])); services.AddTransient <IDfeSignInService, DfeSignInService>(); services.AddTransient <CreateAccountValidator, CreateAccountValidator>(); services.AddTransient <IUserService, UserService>(); services.AddTransient <IQnaTokenService, QnaTokenService>(); services.AddTransient <IProcessPageFlowService, ProcessPageFlowService>(); services.AddTransient <IResetRouteQuestionsService, ResetRouteQuestionsService>(); services.AddTransient <IPagesWithSectionsFlowService, PagesWithSectionsFlowService>(); services.AddTransient <IQuestionPropertyTokeniser, QuestionPropertyTokeniser>(); services.AddTransient <IPageNavigationTrackingService, PageNavigationTrackingService>(); services.AddTransient <ICustomValidatorFactory, CustomValidatorFactory>(); services.AddTransient <IAnswerFormService, AnswerFormService>(); services.AddTransient <IEmailTokenService, EmailTokenService>(); services.AddTransient <IGetHelpWithQuestionEmailService, GetHelpWithQuestionEmailService>(); services.AddTransient <INotificationsApi>(x => { var apiConfiguration = new Notifications.Api.Client.Configuration.NotificationsApiClientConfiguration { ApiBaseUrl = _configService.NotificationsApiClientConfiguration.ApiBaseUrl, #pragma warning disable 618 ClientToken = _configService.NotificationsApiClientConfiguration.ClientToken, #pragma warning restore 618 ClientId = _configService.NotificationsApiClientConfiguration.ClientId, ClientSecret = _configService.NotificationsApiClientConfiguration.ClientSecret, IdentifierUri = _configService.NotificationsApiClientConfiguration.IdentifierUri, Tenant = _configService.NotificationsApiClientConfiguration.Tenant }; var httpClient = string.IsNullOrWhiteSpace(apiConfiguration.ClientId) ? new HttpClientBuilder().WithBearerAuthorisationHeader(new JwtBearerTokenGenerator(apiConfiguration)).Build() : new HttpClientBuilder().WithBearerAuthorisationHeader(new AzureADBearerTokenGenerator(apiConfiguration)).Build(); return(new NotificationsApi(httpClient, apiConfiguration)); }); services.AddTransient <ISubmitApplicationConfirmationEmailService, SubmitApplicationConfirmationEmailService>(); services.AddTransient <ITabularDataService, TabularDataService>(); services.AddTransient <ITabularDataRepository, TabularDataRepository>(); services.AddTransient <IUkprnWhitelistValidator, UkprnWhitelistValidator>(); services.AddTransient <IRoatpTaskListWorkflowService, RoatpTaskListWorkflowService>(); services.AddTransient <IRoatpOrganisationVerificationService, RoatpOrganisationVerificationService>(); services.AddTransient <INotRequiredOverridesService, NotRequiredOverridesService>(); services.AddTransient <ITaskListOrchestrator, TaskListOrchestrator>(); }