/// <summary>
        /// Extension method that registers integrations related classes to the DI container
        /// </summary>
        /// <param name="services">The Microsoft.Extensions.DependencyInjection.IServiceCollection for adding services.</param>
        /// <param name="configuration">The configuration for the project</param>
        public static IServiceCollection RegisterIntegrations(this IServiceCollection services, IConfiguration configuration)
        {
            ConnectionPolicy connectionPolicy = new ConnectionPolicy
            {
                ConnectionMode     = ConnectionMode.Gateway,
                ConnectionProtocol = Protocol.Https,
            };
            AzureCosmosDbSettings azureCosmosDb = configuration.GetSection("Integrations").Get <Integrations>().AzureCosmosDbSettings;

            services.AddSingleton <IDocumentClient>(x =>
            {
                Uri endPointUri = new Uri(azureCosmosDb.EndpointUri);
                DocumentClient documentClient = new DocumentClient(endPointUri, azureCosmosDb.MasterKey, connectionPolicy);
                documentClient.OpenAsync().GetAwaiter().GetResult();
                documentClient.CreateDatabaseIfNotExistsAsync(new Database {
                    Id = azureCosmosDb.Database
                }).GetAwaiter().GetResult();

                return(documentClient);
            });
            services.AddTransient <ReleaseRepository>();
            services.AddTransient <DeploymentRepository>();

            return(services);
        }
 public CosmosDbController(IOptions <AzureCosmosDbSettings> cosmosDbSettings)
 {
     _cosmosDbSettings = cosmosDbSettings.Value;
 }