SoftTraderBackend/Backend.cs
2026-03-20 10:42:48 -04:00

50 lines
1.3 KiB
C#

using Backend.DatabaseHandler;
using Backend.ServiceHander;
using Backend.Interface;
using Microsoft.AspNetCore.HttpOverrides;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<IHistoricalMarketDataCache, PostgresHistoricalMarketDataCache>();
builder.Services.AddSingleton<MarketDataService>();
builder.Services.AddSingleton<IUserInterestStore, PostgresUserInterestStore>();
builder.Services.AddSingleton<FinBertScoringService>();
builder.Services.AddSingleton<INewsSentimentStore, PostgresNewsSentimentStore>();
builder.Services.AddSingleton<NewsSentimentService>();
builder.Services.AddCors(options =>
{
options.AddPolicy("Frontend", policy =>
{
policy
// ---- DEVELOPMENT ----
.AllowAnyOrigin()
// ---- PRODUCTION ----
// .WithOrigins("https://app.dongfeng-systems.org")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders =
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI();
app.UseForwardedHeaders();
app.UseHttpsRedirection();
app.UseCors("Frontend");
app.MapControllers();
app.Run();