FeedDataverseBQ/Migration/Program.cs

38 lines
1.1 KiB
C#
Raw Normal View History

2025-03-24 09:45:46 -04:00
using Migration.Services;
using Migration.Settings;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<IBigQuery, GoogleBigQuery>();
builder.Services.Configure<MainSettings>(builder.Configuration.GetSection(MainSettings.ConfigName));
builder.Services.AddSingleton<IDataverseProvider, DataverseProvider>();
builder.Services.AddHttpClient(DataverseProvider.HTTP_CLIENT, DataverseProvider.Setup);
2025-03-24 16:14:46 -04:00
builder.Services.AddSingleton<IGoogleBigQueryClientFactory, GoogleBigQueryClientFactory>();
builder.Services.AddSingleton(sp =>
{
var factory = sp.GetRequiredService<IGoogleBigQueryClientFactory>();
var configuration = sp.GetRequiredService<IConfiguration>();
return factory.CreateClient(configuration);
});
2025-03-24 09:45:46 -04:00
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.MapPut("/GetProducts", async (IBigQuery _bigQuery) =>
{
await _bigQuery.GetProducts();
})
.WithName("GetProducts");
app.Run();