summary refs log tree commit diff
path: root/extra/admin-api/Spacebar.Offload/Program.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-03-19 08:38:20 +0100
committerRory& <root@rory.gay>2026-03-19 08:38:20 +0100
commitd0eac0b8e7738c645707b52e386ca1e2079b8da8 (patch)
treec8fc5b135ec94f6351e025ff7df472f83db4c6c5 /extra/admin-api/Spacebar.Offload/Program.cs
parentCDN: use file contents for hashes, the fuck (diff)
downloadserver-ts-d0eac0b8e7738c645707b52e386ca1e2079b8da8.tar.xz
GatewayOffload: rename to Offload
Diffstat (limited to 'extra/admin-api/Spacebar.Offload/Program.cs')
-rw-r--r--extra/admin-api/Spacebar.Offload/Program.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/extra/admin-api/Spacebar.Offload/Program.cs b/extra/admin-api/Spacebar.Offload/Program.cs
new file mode 100644

index 00000000..947ca35f --- /dev/null +++ b/extra/admin-api/Spacebar.Offload/Program.cs
@@ -0,0 +1,49 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using ArcaneLibs.Extensions; +using Microsoft.EntityFrameworkCore; +using Spacebar.Interop.Authentication; +using Spacebar.Interop.Authentication.AspNetCore; +using Spacebar.Models.Db.Contexts; +using Spacebar.Models.Generic; + +var builder = WebApplication.CreateBuilder(args); +if (!string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("APPSETTINGS_PATH"))) + builder.Configuration.AddJsonFile(Environment.GetEnvironmentVariable("APPSETTINGS_PATH")!); + +// Add services to the container. + +builder.Services.AddControllers(options => { + options.MaxValidationDepth = null; + // options.MaxIAsyncEnumerableBufferLimit = 1; +}).AddJsonOptions(options => { + options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; + options.JsonSerializerOptions.WriteIndented = true; + options.JsonSerializerOptions.MaxDepth = 100; + // options.JsonSerializerOptions.DefaultBufferSize = ; +}).AddMvcOptions(o => { o.SuppressOutputFormatterBuffering = true; }); +// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi +builder.Services.AddOpenApi(); + +builder.Services.AddDbContextPool<SpacebarDbContext>(options => { + options + .UseNpgsql(builder.Configuration.GetConnectionString("Spacebar")) + .EnableDetailedErrors(); +}); + +builder.Services.AddSingleton<SpacebarAuthenticationConfiguration>(); +builder.Services.AddScoped<SpacebarAuthenticationService>(); +builder.Services.AddScoped<SpacebarAspNetAuthenticationService>(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) { + app.MapOpenApi(); +} + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); \ No newline at end of file