From 446292784c9d23f91635eaebd52ea20189636a44 Mon Sep 17 00:00:00 2001 From: Khwezi Mngoma Date: Sat, 23 May 2026 12:05:47 +0200 Subject: [PATCH] Fixed dependencies and config --- MidrandBooks.snk | Bin 0 -> 596 bytes MidrandBookshop/MidrandBookshop.csproj | 46 ++++++++++++++++++++++++- MidrandBookshop/Program.cs | 41 +++++++++++++++++++--- midrandbooks-uat.yml | 4 +-- 4 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 MidrandBooks.snk diff --git a/MidrandBooks.snk b/MidrandBooks.snk new file mode 100644 index 0000000000000000000000000000000000000000..b3f5daef4c6049c41d9869e096832ab16ff706c0 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096gITZ(P)DRd78!h!e;FgaHug_W6hVqk~ zvxHE>^be_eSg8K71FVc`h0XMA-)ZnrNx5Bl2YWOn&r0hoi$8TfeAx#r7e<z_W?MdJ_o-uqdU|j1m zT8nL`r`?Cppy1IQziK42d8AlZ?*XeGw%L$UbVp+MW zsq)9@MSyOH)IgaQM|@nxje!W1DU3PcDAj97(a^@-Z&#wcW8#OINC$E0uyMeksu$Qv z_RFa?oz5n}9e^hD!yWlmFWb?f#ghXaODX~Flk@=GAX?_sqh&swZGU%T0QR5kY63Ha zu?iY^d4fXmr<0ld=!SWp3{!UmeS7<)yFR9&ED6Ne-{!wc~ z#P2qB1$)ok4YnV7tdM|5=W_krGIeH!8qWNUl*Cl4%5T iw{(Cv%A(iao&Z+&d$*cOs2U#t literal 0 HcmV?d00001 diff --git a/MidrandBookshop/MidrandBookshop.csproj b/MidrandBookshop/MidrandBookshop.csproj index 0e65ae5..e18f2cc 100644 --- a/MidrandBookshop/MidrandBookshop.csproj +++ b/MidrandBookshop/MidrandBookshop.csproj @@ -1,11 +1,55 @@ - + net10.0 enable enable + True true 63d55865-dbfb-40d6-b6df-9bf6d14d15ca + ..\MidrandBooks.snk + true + + + + + + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + + + + + diff --git a/MidrandBookshop/Program.cs b/MidrandBookshop/Program.cs index a45e01f..444b3ce 100644 --- a/MidrandBookshop/Program.cs +++ b/MidrandBookshop/Program.cs @@ -1,20 +1,53 @@ +using LiteCharms.Features.Extensions; +using LiteCharms.Features.Mediator; using MidrandBookshop.Components; +using static LiteCharms.Features.Extensions.Quartz; var builder = WebApplication.CreateBuilder(args); -// Add services to the container. builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); +builder.AddMonitoring(); +builder.Services.AddEndpointsApiExplorer(); + +//builder.Services.AddMediator(); + +//builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>)); +//builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(LoggingPipelineBehavior<,>)); + +//builder.Services.AddSalesServiceBus(); +//builder.Services.AddGeneralServiceBus(); +builder.Services.AddQuartzSchedulerClient(MidrandShopSchedulerName, builder.Configuration); + +//builder.Services.AddEmailServices(builder.Configuration); +//builder.Services.AddEmailServiceBus(); + +builder.Services.AddMidrandShopDatabase(builder.Configuration); + +builder.Services.AddMidrandShopPostgresHealthCheck(); +//builder.Services.AddMidrandShopQuartzHealthCheck(); +builder.Services.AddHealthChecksSupport(builder.Configuration); + var app = builder.Build(); -// Configure the HTTP request pipeline. +var schedulerFactory = app.Services.GetRequiredService(); +var scheduler = await schedulerFactory.GetScheduler(MidrandShopSchedulerName); + +if (!scheduler!.IsStarted) + await scheduler.Start(); + if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); - // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } + +app.UseHealthChecks("/health", new HealthCheckOptions +{ + ResponseWriter = HealthChecks.UI.Client.UIResponseWriter.WriteHealthCheckUIResponse +}); + app.UseStatusCodePagesWithReExecute("/not-found", createScopeForStatusCodePages: true); app.UseHttpsRedirection(); @@ -24,4 +57,4 @@ app.MapStaticAssets(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); -app.Run(); +app.Run(); \ No newline at end of file diff --git a/midrandbooks-uat.yml b/midrandbooks-uat.yml index 4df8bc4..5ee86ad 100644 --- a/midrandbooks-uat.yml +++ b/midrandbooks-uat.yml @@ -22,7 +22,7 @@ metadata: namespace: midrandbooks-uat type: Opaque data: - connection-string: SG9zdD0xOTIuMTY4LjEuMTcwO0RhdGFiYXNlPW1pZHJhbmRib29rcy1kZXY7VXNlcm5hbWU9bWlkcmFuZGJvb2tzLWRldi11c2VyO1Bhc3N3b3JkPVBCd1pnbzZRS3dHN1ZGO1BlcnNpc3QgU2VjdXJpdHkgSW5mbz1UcnVl + connection-string: SG9zdD0xOTIuMTY4LjEuMTcwO0RhdGFiYXNlPW1pZHJhbmRzaG9wLWRldjtVc2VybmFtZT1taWRyYW5kc2hvcC1kZXYtdXNlcjtQYXNzd29yZD1hUFh5a0tnM3RTOWNtRDtQZXJzaXN0IFNlY3VyaXR5IEluZm89VHJ1ZQ== connection-string-quartz: SG9zdD0xOTIuMTY4LjEuMTcwO0RhdGFiYXNlPXNjaGVkdWxlci1kZXY7VXNlcm5hbWU9c2NoZWR1bGVyLWRldi11c2VyO1Bhc3N3b3JkPWtWVm1vV0tKM3h6Z1FYO1BlcnNpc3QgU2VjdXJpdHkgSW5mbz1UcnVl aspire-apikey: bWMzRzYzSzJqNVpPRXNpMEFqTW9qTFRYbTFLRVpGY3R6SUlqU3dEaVRHdXQ4cUdTa1B1V3d4R1AxUmJzY0pVbw== --- @@ -82,7 +82,7 @@ spec: secretKeyRef: name: midrandbooks-secrets key: connection-string-quartz - - name: ConnectionStrings__PostgresMidrandshop + - name: ConnectionStrings__PostgresMidrandShop valueFrom: secretKeyRef: name: midrandbooks-secrets