chore: added smappee api

This commit is contained in:
Willem Serruys
2026-08-21 07:38:21 +02:00
parent df21ce581b
commit 1d0a5beb8c
12 changed files with 309 additions and 0 deletions

43
smappee-api/Program.cs Normal file
View File

@@ -0,0 +1,43 @@
using enums;
using interfaces;
using options;
using services;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpClient();
builder.Services.AddRedaction();
builder.Services.AddExtendedHttpClientLogging(
builder.Configuration.GetSection("HttpClientLogging"));
builder
.Services.AddOptions<ChargerOptions>()
.Bind(builder.Configuration.GetSection(ChargerOptions.Name))
.ValidateDataAnnotations();
builder.Services.AddSingleton<IBearerTokenService, SmappeeTokenService>();
builder.Services.AddScoped<IChargerService, SmappeeChargerService>();
var app = builder.Build();
app.MapPost(
"/enable",
async (IChargerService chargerService) =>
{
await chargerService.ExecuteRequest(ChargerRequests.Enable);
return;
}
)
.WithName("Enable");
app.MapPost(
"/disable",
() =>
async (IChargerService chargerService) =>
{
await chargerService.ExecuteRequest(ChargerRequests.Disable);
return;
}
)
.WithName("Disable");
app.Run();