freetubesync/FreeTubeSync/Program.cs
Mario Steele 0359732385 Updated Program
Updated Program to have SQLite Configuration done through Connection
Strings.
Added auto migration for the database, if we get an exception, we create
the database instead (As it doesn't exist.)
2025-07-21 13:06:27 -05:00

39 lines
No EOL
997 B
C#

using FreeTubeSync;
using FreeTubeSync.Database;
using FreeTubeSync.EndPoints;
using Microsoft.EntityFrameworkCore;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddDbContext<DataContext>(options =>
options.UseSqlite(builder.Configuration.GetConnectionString("FreeTubeSync")));
builder.Services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
// Add services to the container.
var app = builder.Build();
app.MapHistoryEndpoints();
app.MapPlaylistEndpoints();
app.MapProfileEndpoints();
app.MapSearchHistoryEndpoints();
app.MapSettingEndpoints();
await using(var serviceScope = app.Services.CreateAsyncScope())
await using (var dbContext = serviceScope.ServiceProvider.GetRequiredService<DataContext>())
{
try
{
await dbContext.Database.MigrateAsync();
}
catch (Exception e)
{
await dbContext.Database.EnsureCreatedAsync();
}
}
app.Run();