Example #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline
        public async void Configure(IApplicationBuilder app,
                                    IHostingEnvironment env,
                                    ICiBuildService ciBuildService,
                                    ICiQaService ciQaService,
                                    ICiStagingService ciStagingService,
                                    ILoggerFactory loggerFactory,
                                    IOptions <AuthSettings> settings,
                                    IUserRepository userRepository)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddFile("logs/{Date}.txt");
            loggerFactory.AddDebug();

            app.UseResponseCompression();

            app.UseCors("DevCorsPolicy");

            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationScheme  = settings.Value.AuthenticationScheme,
                LoginPath             = PathString.Empty,
                AccessDeniedPath      = PathString.Empty,
                AutomaticAuthenticate = true,
                AutomaticChallenge    = true,
                Events = new CookieAuthenticationEvents
                {
                    OnRedirectToLogin = context =>
                    {
                        context.Response.StatusCode = 401;
                        return(Task.FromResult(0));
                    }
                }
            });

            app.UseResponseCaching();

            app.UseMvc();

            var dbWorks = await userRepository.TestConnection();

            var ciBuildWorks = await ciBuildService.TestConnection();

            var ciQaWorks = await ciQaService.TestConnection();

            var ciStagingWorks = await ciStagingService.TestConnection();

            if (!dbWorks || !ciBuildWorks || !ciQaWorks || !ciStagingWorks)
            {
                Environment.Exit(1);
                return;
            }

            await userRepository.EnsureAdminExists();
        }
 public DeploymentController(IOptions <AppSettings> appOptions,
                             ILogger <DeploymentController> logger,
                             ICiQaService qaService,
                             ICiStagingService stagingService,
                             IUserRepository userRepository)
 {
     _appSettings    = appOptions.Value;
     _logger         = logger;
     _qaService      = qaService;
     _stagingService = stagingService;
     _userRepository = userRepository;
 }