public override void Configure(IFunctionsHostBuilder builder) { builder.Services.AddSingleton <CosmosArticleDb>((s) => { var cosmosDbConnectionString = Environment.GetEnvironmentVariable("CosmosDbConnectionString", EnvironmentVariableTarget.Process); var clientOptions = new CosmosClientOptions(); clientOptions.SerializerOptions = new CosmosSerializationOptions() { PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase }; var dbClient = new CosmosClient(cosmosDbConnectionString, clientOptions); var db = new CosmosArticleDb(dbClient, "CMS", "Articles"); return(db); }); builder.Services.AddSingleton <HttpRequestAuthenticator>(); var executionContextOptions = builder.Services.BuildServiceProvider().GetService <IOptions <ExecutionContextOptions> >().Value; var config = new ConfigurationBuilder() .SetBasePath(executionContextOptions.AppDirectory) .AddEnvironmentVariables() .AddJsonFile("appsettings.json", false) .Build(); builder.Services.Configure <AzureAdOptions>(config.GetSection("AzureAd")); builder.Services.AddOptions(); }
public DeleteArticle(HttpRequestAuthenticator authenticator, CosmosArticleDb db) { CmsDb = db; Authenticator = authenticator; }
public ModerateComment(CosmosArticleDb cmsDb) { CmsDb = cmsDb; }
public UpdateArticle(HttpRequestAuthenticator authenticator, CosmosArticleDb db) { Authenticator = authenticator; CmsDb = db; }
public GetImageUploadSasToken(HttpRequestAuthenticator authenticator, CosmosArticleDb cmsDb) { Authenticator = authenticator; CmsDb = cmsDb; }
public GetPublishedArticleById(CosmosArticleDb db) { CmsDb = db; }
public PublishArticle(HttpRequestAuthenticator authenticator, CosmosArticleDb cmsDb) { Authenticator = authenticator; CmsDb = cmsDb; }
public GetArticles(HttpRequestAuthenticator authenticator, CosmosArticleDb db) { Authenticator = authenticator; CmsDb = db; }
public AddCommentToArticle(CosmosArticleDb db) { CmsDb = db; }