diff options
| author | Leitwolf | 2026-10-29 13:08:07 +0300 |
|---|---|---|
| committer | GitHub | 2026-10-29 13:08:07 +0300 |
| commit | 4b414909ac818a9178d72ffa6e1c396d5fa27a59 (patch) | |
| tree | 9801dc805a397052264cc5bc0a6c56cf870b179a /apps/api/Program.cs | |
| parent | f22418235a0a87bc05b3bf9079fcdefba002d3b2 (diff) | |
| parent | 285e1024da64234b30b0fa425ffd6bf348119db4 (diff) | |
| download | progmaweb-4b414909ac818a9178d72ffa6e1c396d5fa27a59.tar.gz | |
Merge pull request #47 from Progmasoft/feature/viget-tazel-plugins
Add the Tazel plugin catalog of ViGet and open the Gradle catalog
Diffstat (limited to 'apps/api/Program.cs')
| -rw-r--r-- | apps/api/Program.cs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/apps/api/Program.cs b/apps/api/Program.cs index 476cbdb..873c120 100644 --- a/apps/api/Program.cs +++ b/apps/api/Program.cs @@ -9,8 +9,12 @@ using Microsoft.AspNetCore.HttpOverrides; using Progmasoft.Progmaweb.Api.Accounts; using Progmasoft.OAuth; using Progmasoft.Progmaweb.Api.Security; +using Progmasoft.Progmaweb.Api.ViGet; -WebApplicationBuilder builder = WebApplication.CreateBuilder(args); +// `viget ...` runs a command of ViGet with the configuration of the service instead of the service itself; its +// arguments are not configuration. +bool vigetCommand = ViGetCommand.IsCommand(args); +WebApplicationBuilder builder = WebApplication.CreateBuilder(vigetCommand ? [] : args); builder.Services.Configure<AccountSessionOptions>(builder.Configuration.GetSection(AccountSessionOptions.SectionName)); builder.Services.AddSingleton(TimeProvider.System); @@ -21,6 +25,8 @@ builder.Services.AddSingleton<AccountService>(); builder.Services.AddSingleton<SessionService>(); // Progmasoft OAuth, the OAuth 2.1 and OpenID Connect provider on its own host; see OAuth/OAuthRegistration.cs. builder.Services.AddProgmasoftOAuth(builder.Configuration, accountStore, builder.Environment.IsProduction()); +// ViGet: the Tazel plugin catalog beside the accounts; see ViGet/ViGetEndpoints.cs. +builder.Services.AddViGet(builder.Configuration, accountStore); builder.Services.AddAuthorization(); AuthenticationBuilder authentication = builder.Services .AddAuthentication() @@ -103,6 +109,13 @@ builder.WebHost.ConfigureKestrel(options => options.Limits.MaxRequestBodySize = WebApplication app = builder.Build(); +if (vigetCommand) +{ + Environment.ExitCode = await ViGetCommand.RunAsync( + app.Services, args[1..], Console.Out, Console.Error, CancellationToken.None); + return; +} + if (accountStore is AccountStoreKind.Memory) { AccountStoreRegistration.WarnThatAccountsAreInMemory(app.Logger); @@ -134,6 +147,7 @@ app.MapGet("/api/v1/status", () => Results.Ok(new })); app.MapAccountEndpoints(); app.MapProgmasoftOAuth(); +app.MapViGetEndpoints(); app.Run(); |