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.)
39 lines
No EOL
997 B
C#
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(); |