update to .net 9

This commit is contained in:
sam 2024-11-19 00:10:12 +01:00
parent e8feedb979
commit 822d699ffc
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
9 changed files with 99 additions and 173 deletions

View file

@ -3,7 +3,7 @@
"isRoot": true, "isRoot": true,
"tools": { "tools": {
"csharpier": { "csharpier": {
"version": "0.29.2", "version": "0.30.1",
"commands": [ "commands": [
"dotnet-csharpier" "dotnet-csharpier"
], ],

View file

@ -30,8 +30,10 @@ public class DiscordRequestService
private readonly IClock _clock; private readonly IClock _clock;
private readonly ApiTokenRepository _tokenRepository; private readonly ApiTokenRepository _tokenRepository;
private static readonly JsonSerializerOptions JsonOptions = private static readonly JsonSerializerOptions JsonOptions = new()
new() { PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower }; {
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
};
public DiscordRequestService( public DiscordRequestService(
ILogger logger, ILogger logger,
@ -82,8 +84,9 @@ public class DiscordRequestService
} }
private static readonly Uri DiscordUserUri = new("https://discord.com/api/v10/users/@me"); private static readonly Uri DiscordUserUri = new("https://discord.com/api/v10/users/@me");
private static readonly Uri DiscordGuildsUri = private static readonly Uri DiscordGuildsUri = new(
new("https://discord.com/api/v10/users/@me/guilds"); "https://discord.com/api/v10/users/@me/guilds"
);
private static readonly Uri DiscordTokenUri = new("https://discord.com/api/oauth2/token"); private static readonly Uri DiscordTokenUri = new("https://discord.com/api/oauth2/token");
public async Task<User> GetMeAsync(string token) => await GetAsync<User>(DiscordUserUri, token); public async Task<User> GetMeAsync(string token) => await GetAsync<User>(DiscordUserUri, token);

View file

@ -45,8 +45,7 @@ public class CustomInteractionResponder(
{ {
private readonly ILogger _logger = logger.ForContext<CustomInteractionResponder>(); private readonly ILogger _logger = logger.ForContext<CustomInteractionResponder>();
private readonly InteractionResponder _inner = private readonly InteractionResponder _inner = new(
new(
commandService, commandService,
options, options,
interactionAPI, interactionAPI,

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
@ -21,26 +21,25 @@
<PackageReference Include="Dapper" Version="2.1.35" /> <PackageReference Include="Dapper" Version="2.1.35" />
<PackageReference Include="Humanizer.Core" Version="2.14.1"/> <PackageReference Include="Humanizer.Core" Version="2.14.1"/>
<PackageReference Include="LazyCache" Version="2.4.0"/> <PackageReference Include="LazyCache" Version="2.4.0"/>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.8"/> <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.8"/> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3"/> <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
<PackageReference Include="NodaTime" Version="3.1.12"/> <PackageReference Include="NodaTime" Version="3.2.0" />
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.2.0"/> <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.2.0"/>
<PackageReference Include="Npgsql" Version="8.0.5" /> <PackageReference Include="Npgsql" Version="9.0.0" />
<PackageReference Include="Npgsql.NodaTime" Version="8.0.5" /> <PackageReference Include="Npgsql.NodaTime" Version="9.0.0" />
<PackageReference Include="Polly.Core" Version="8.4.2"/> <PackageReference Include="Polly.Core" Version="8.5.0" />
<PackageReference Include="Polly.RateLimiting" Version="8.4.2"/> <PackageReference Include="Polly.RateLimiting" Version="8.5.0" />
<PackageReference Include="prometheus-net" Version="8.2.1"/> <PackageReference Include="prometheus-net" Version="8.2.1"/>
<PackageReference Include="prometheus-net.AspNetCore" Version="8.2.1"/> <PackageReference Include="prometheus-net.AspNetCore" Version="8.2.1"/>
<PackageReference Include="Remora.Sdk" Version="3.1.2"/> <PackageReference Include="Remora.Sdk" Version="3.1.2"/>
<PackageReference Include="Remora.Discord" Version="2024.3.0-github11168366508"/> <PackageReference Include="Remora.Discord" Version="2024.3.0-github11168366508"/>
<PackageReference Include="Serilog" Version="4.0.2"/> <PackageReference Include="Serilog" Version="4.1.0" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.2"/> <PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0"/> <PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0"/>
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0"/> <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0"/>
<PackageReference Include="Serilog.Sinks.Seq" Version="8.0.0"/> <PackageReference Include="Serilog.Sinks.Seq" Version="8.0.0"/>
<PackageReference Include="StackExchange.Redis" Version="2.8.16"/> <PackageReference Include="StackExchange.Redis" Version="2.8.16"/>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.8.1"/>
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -24,8 +24,10 @@ public class RedisService(Config config)
config.Database.Redis! config.Database.Redis!
); );
private readonly JsonSerializerOptions _options = private readonly JsonSerializerOptions _options = new()
new() { PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower }; {
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
};
public IDatabase GetDatabase(int db = -1) => _multiplexer.GetDatabase(db); public IDatabase GetDatabase(int db = -1) => _multiplexer.GetDatabase(db);

View file

@ -274,8 +274,6 @@ public static class StartupExtensions
app.UseSerilogRequestLogging(); app.UseSerilogRequestLogging();
app.UseRouting(); app.UseRouting();
app.UseHttpMetrics(); app.UseHttpMetrics();
app.UseSwagger();
app.UseSwaggerUI();
app.UseCors(); app.UseCors();
app.UseMiddleware<ErrorMiddleware>(); app.UseMiddleware<ErrorMiddleware>();
app.UseMiddleware<AuthenticationMiddleware>(); app.UseMiddleware<AuthenticationMiddleware>();

View file

@ -120,12 +120,7 @@ builder.Services.AddMetricServer(o => o.Port = (ushort)config.Logging.MetricsPor
if (!config.Logging.EnableMetrics) if (!config.Logging.EnableMetrics)
builder.Services.AddHostedService<BackgroundMetricsCollectionService>(); builder.Services.AddHostedService<BackgroundMetricsCollectionService>();
builder builder.Services.MaybeAddDashboardServices(config).MaybeAddRedisCaches(config).AddCustomServices();
.Services.MaybeAddDashboardServices(config)
.MaybeAddRedisCaches(config)
.AddCustomServices()
.AddEndpointsApiExplorer()
.AddSwaggerGen();
var app = builder.Build(); var app = builder.Build();

View file

@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"dependencies": { "dependencies": {
"net8.0": { "net9.0": {
"Dapper": { "Dapper": {
"type": "Direct", "type": "Direct",
"requested": "[2.1.35, )", "requested": "[2.1.35, )",
@ -26,22 +26,26 @@
}, },
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": { "Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
"type": "Direct", "type": "Direct",
"requested": "[8.0.8, )", "requested": "[9.0.0, )",
"resolved": "8.0.8", "resolved": "9.0.0",
"contentHash": "KL3lI8GmCnnROwDrbWbboVpHiXSNTyoLgYPdHus3hEjAwhSAm1JU5S+rmZk7w3Qt0rQfHVIFxKwCf6yapeZy+w==", "contentHash": "pTFDEmZi3GheCSPrBxzyE63+d5unln2vYldo/nOm1xet/4rpEk2oJYcwpclPQ13E+LZBF9XixkgwYTUwqznlWg==",
"dependencies": { "dependencies": {
"Microsoft.AspNetCore.JsonPatch": "8.0.8", "Microsoft.AspNetCore.JsonPatch": "9.0.0",
"Newtonsoft.Json": "13.0.3", "Newtonsoft.Json": "13.0.3",
"Newtonsoft.Json.Bson": "1.0.2" "Newtonsoft.Json.Bson": "1.0.2"
} }
}, },
"Microsoft.AspNetCore.OpenApi": { "Microsoft.Extensions.Caching.Memory": {
"type": "Direct", "type": "Direct",
"requested": "[8.0.8, )", "requested": "[9.0.0, )",
"resolved": "8.0.8", "resolved": "9.0.0",
"contentHash": "wNHhohqP8rmsQ4UhKbd6jZMD6l+2Q/+DvRBT0Cgqeuglr13aF6sSJWicZKCIhZAUXzuhkdwtHVc95MlPlFk0dA==", "contentHash": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==",
"dependencies": { "dependencies": {
"Microsoft.OpenApi": "1.4.3" "Microsoft.Extensions.Caching.Abstractions": "9.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
"Microsoft.Extensions.Options": "9.0.0",
"Microsoft.Extensions.Primitives": "9.0.0"
} }
}, },
"Newtonsoft.Json": { "Newtonsoft.Json": {
@ -52,12 +56,9 @@
}, },
"NodaTime": { "NodaTime": {
"type": "Direct", "type": "Direct",
"requested": "[3.1.12, )", "requested": "[3.2.0, )",
"resolved": "3.1.12", "resolved": "3.2.0",
"contentHash": "nDcUbG0jiEXmV8cOz7V8GnUKlmPJjqZm/R+E2JNnUSdlMoaQ19xSU8GXFLReGs/Nt8xdBfA8XfO77xVboWO1Vg==", "contentHash": "yoRA3jEJn8NM0/rQm78zuDNPA3DonNSZdsorMUj+dltc1D+/Lc5h9YXGqbEEZozMGr37lAoYkcSM/KjTVqD0ow=="
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "4.7.1"
}
}, },
"NodaTime.Serialization.SystemTextJson": { "NodaTime.Serialization.SystemTextJson": {
"type": "Direct", "type": "Direct",
@ -70,36 +71,37 @@
}, },
"Npgsql": { "Npgsql": {
"type": "Direct", "type": "Direct",
"requested": "[8.0.5, )", "requested": "[9.0.0, )",
"resolved": "8.0.5", "resolved": "9.0.0",
"contentHash": "zRG5V8cyeZLpzJlKzFKjEwkRMYIYnHWJvEor2lWXeccS2E1G2nIWYYhnukB51iz5XsWSVEtqg3AxTWM0QJ6vfg==", "contentHash": "zu1nCRt0gWP/GR0reYgg0Bl5o8qyNV7mVAgzAbVLRiAd1CYXcf/9nrubPH0mt93u8iGTKmYqWaLVECEAcE6IfQ==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "8.0.0" "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
"System.Text.Json": "9.0.0"
} }
}, },
"Npgsql.NodaTime": { "Npgsql.NodaTime": {
"type": "Direct", "type": "Direct",
"requested": "[8.0.5, )", "requested": "[9.0.0, )",
"resolved": "8.0.5", "resolved": "9.0.0",
"contentHash": "oC7Ml5TDuQlcGECB5ML0XsPxFrYu3OdpG7c9cuqhB+xunLvqbZ0zXQoPJjvXK9KDNPDB/II61HNdsNas9f2J3A==", "contentHash": "kHVcgTeJ68MUufMs3HAboklhM5v+qHwVNqh4Tkko/BPP3wkijGXaUaHYffgaga9n+bIIHq1f1VdTl99Rz7XxFA==",
"dependencies": { "dependencies": {
"NodaTime": "3.1.9", "NodaTime": "3.2.0",
"Npgsql": "8.0.5" "Npgsql": "9.0.0"
} }
}, },
"Polly.Core": { "Polly.Core": {
"type": "Direct", "type": "Direct",
"requested": "[8.4.2, )", "requested": "[8.5.0, )",
"resolved": "8.4.2", "resolved": "8.5.0",
"contentHash": "BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==" "contentHash": "VYYMZNitZ85UEhwOKkTQI63WEMvzUqwQc74I2mm8h/DBVAMcBBxqYPni4DmuRtbCwngmuONuK2yBJfWNRKzI+A=="
}, },
"Polly.RateLimiting": { "Polly.RateLimiting": {
"type": "Direct", "type": "Direct",
"requested": "[8.4.2, )", "requested": "[8.5.0, )",
"resolved": "8.4.2", "resolved": "8.5.0",
"contentHash": "ehTImQ/eUyO07VYW2WvwSmU9rRH200SKJ/3jku9rOkyWE0A2JxNFmAVms8dSn49QLSjmjFRRSgfNyOgr/2PSmA==", "contentHash": "ChVprxvWs0QU90Aiu9LwcEJCoDwYhx46zDFQkA5ODhCjDPTyLKKU/ODjHFlqkrSogZ0sZIIAS6FuM93yEKSAZQ==",
"dependencies": { "dependencies": {
"Polly.Core": "8.4.2", "Polly.Core": "8.5.0",
"System.Threading.RateLimiting": "8.0.0" "System.Threading.RateLimiting": "8.0.0"
} }
}, },
@ -144,21 +146,21 @@
}, },
"Serilog": { "Serilog": {
"type": "Direct", "type": "Direct",
"requested": "[4.0.2, )", "requested": "[4.1.0, )",
"resolved": "4.0.2", "resolved": "4.1.0",
"contentHash": "Vehq4uNYtURe/OnHEpWGvMgrvr5Vou7oZLdn3BuEH5FSCeHXDpNJtpzWoqywXsSvCTuiv0I65mZDRnJSeUvisA==" "contentHash": "u1aZI8HZ62LWlq5dZLFwm6jMax/sUwnWZSw5lkPsCt518cJBxFKoNmc7oSxe5aA5BgSkzy9rzwFGR/i/acnSPw=="
}, },
"Serilog.AspNetCore": { "Serilog.AspNetCore": {
"type": "Direct", "type": "Direct",
"requested": "[8.0.2, )", "requested": "[8.0.3, )",
"resolved": "8.0.2", "resolved": "8.0.3",
"contentHash": "LNUd1bHsik2E7jSoCQFdeMGAWXjH7eUQ6c2pqm5vl+jGqvxdabYXxlrfaqApjtX5+BfAjW9jTA2EKmPwxknpIA==", "contentHash": "Y5at41mc0OV982DEJslBKHd6uzcWO6POwR3QceJ6gtpMPxCzm4+FElGPF0RdaTD7MGsP6XXE05LMbSi0NO+sXg==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.Logging": "8.0.0", "Microsoft.Extensions.Logging": "8.0.0",
"Serilog": "3.1.1", "Serilog": "3.1.1",
"Serilog.Extensions.Hosting": "8.0.0", "Serilog.Extensions.Hosting": "8.0.0",
"Serilog.Formatting.Compact": "2.0.0", "Serilog.Formatting.Compact": "2.0.0",
"Serilog.Settings.Configuration": "8.0.2", "Serilog.Settings.Configuration": "8.0.4",
"Serilog.Sinks.Console": "5.0.0", "Serilog.Sinks.Console": "5.0.0",
"Serilog.Sinks.Debug": "2.0.0", "Serilog.Sinks.Debug": "2.0.0",
"Serilog.Sinks.File": "5.0.0" "Serilog.Sinks.File": "5.0.0"
@ -206,18 +208,6 @@
"Pipelines.Sockets.Unofficial": "2.2.8" "Pipelines.Sockets.Unofficial": "2.2.8"
} }
}, },
"Swashbuckle.AspNetCore": {
"type": "Direct",
"requested": "[6.8.1, )",
"resolved": "6.8.1",
"contentHash": "JN6ccH37QKtNOwBrvSxc+jBYIB+cw6RlZie2IKoJhjjf6HzBH+2kPJCpxmJ5EHIqmxvq6aQG+0A8XklGx9rAxA==",
"dependencies": {
"Microsoft.Extensions.ApiDescription.Server": "6.0.5",
"Swashbuckle.AspNetCore.Swagger": "6.8.1",
"Swashbuckle.AspNetCore.SwaggerGen": "6.8.1",
"Swashbuckle.AspNetCore.SwaggerUI": "6.8.1"
}
},
"CommunityToolkit.HighPerformance": { "CommunityToolkit.HighPerformance": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.2.2", "resolved": "8.2.2",
@ -235,8 +225,8 @@
}, },
"Microsoft.AspNetCore.JsonPatch": { "Microsoft.AspNetCore.JsonPatch": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.8", "resolved": "9.0.0",
"contentHash": "IGhuO/SsjHIIvFP4O/5pn/WcPJor+A+BERBhIkMYrlYcRXnZmbBBNSyqoNI9wFq0oxtsrnYMnzXAIi+0MKVdSA==", "contentHash": "/4UONYoAIeexPoAmbzBPkVGA6KAY7t0BM+1sr0fKss2V1ERCdcM+Llub4X5Ma+LJ60oPp6KzM0e3j+Pp/JHCNw==",
"dependencies": { "dependencies": {
"Microsoft.CSharp": "4.7.0", "Microsoft.CSharp": "4.7.0",
"Newtonsoft.Json": "13.0.3" "Newtonsoft.Json": "13.0.3"
@ -247,29 +237,12 @@
"resolved": "4.7.0", "resolved": "4.7.0",
"contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA=="
}, },
"Microsoft.Extensions.ApiDescription.Server": {
"type": "Transitive",
"resolved": "6.0.5",
"contentHash": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw=="
},
"Microsoft.Extensions.Caching.Abstractions": { "Microsoft.Extensions.Caching.Abstractions": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.0", "resolved": "9.0.0",
"contentHash": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", "contentHash": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0" "Microsoft.Extensions.Primitives": "9.0.0"
}
},
"Microsoft.Extensions.Caching.Memory": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "7pqivmrZDzo1ADPkRwjy+8jtRKWRCPag9qPI+p7sgu7Q4QreWhcvbiWXsbhP+yY8XSiDvZpu2/LWdBv7PnmOpQ==",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "8.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
"Microsoft.Extensions.Options": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
} }
}, },
"Microsoft.Extensions.Configuration": { "Microsoft.Extensions.Configuration": {
@ -307,17 +280,13 @@
}, },
"Microsoft.Extensions.DependencyInjection.Abstractions": { "Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.0", "resolved": "9.0.0",
"contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" "contentHash": "+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg=="
}, },
"Microsoft.Extensions.DependencyModel": { "Microsoft.Extensions.DependencyModel": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.1", "resolved": "8.0.2",
"contentHash": "5Ou6varcxLBzQ+Agfm0k0pnH7vrEITYlXMDuE6s7ZHlZHz6/G8XJ3iISZDr5rfwfge6RnXJ1+Wc479mMn52vjA==", "contentHash": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw=="
"dependencies": {
"System.Text.Encodings.Web": "8.0.0",
"System.Text.Json": "8.0.4"
}
}, },
"Microsoft.Extensions.Diagnostics": { "Microsoft.Extensions.Diagnostics": {
"type": "Transitive", "type": "Transitive",
@ -394,10 +363,10 @@
}, },
"Microsoft.Extensions.Logging.Abstractions": { "Microsoft.Extensions.Logging.Abstractions": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.0", "resolved": "9.0.0",
"contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", "contentHash": "g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
} }
}, },
"Microsoft.Extensions.ObjectPool": { "Microsoft.Extensions.ObjectPool": {
@ -407,11 +376,11 @@
}, },
"Microsoft.Extensions.Options": { "Microsoft.Extensions.Options": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.2", "resolved": "9.0.0",
"contentHash": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", "contentHash": "y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Primitives": "8.0.0" "Microsoft.Extensions.Primitives": "9.0.0"
} }
}, },
"Microsoft.Extensions.Options.ConfigurationExtensions": { "Microsoft.Extensions.Options.ConfigurationExtensions": {
@ -428,13 +397,8 @@
}, },
"Microsoft.Extensions.Primitives": { "Microsoft.Extensions.Primitives": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.0", "resolved": "9.0.0",
"contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" "contentHash": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg=="
},
"Microsoft.OpenApi": {
"type": "Transitive",
"resolved": "1.6.14",
"contentHash": "tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw=="
}, },
"Newtonsoft.Json.Bson": { "Newtonsoft.Json.Bson": {
"type": "Transitive", "type": "Transitive",
@ -658,11 +622,11 @@
}, },
"Serilog.Settings.Configuration": { "Serilog.Settings.Configuration": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.2", "resolved": "8.0.4",
"contentHash": "hn8HCAmupon7N0to20EwGeNJ+L3iRzjGzAHIl8+8CCFlEkVedHvS6NMYMb0VPNMsDgDwOj4cPBPV6Fc2hb0/7w==", "contentHash": "pkxvq0umBKK8IKFJc1aV5S/HGRG/NIxJ6FV42KaTPLfDmBOAbBUB1m5gqqlGxzEa1MgDDWtQlWJdHTSxVWNx+Q==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.Configuration.Binder": "8.0.0", "Microsoft.Extensions.Configuration.Binder": "8.0.0",
"Microsoft.Extensions.DependencyModel": "8.0.1", "Microsoft.Extensions.DependencyModel": "8.0.2",
"Serilog": "3.1.1" "Serilog": "3.1.1"
} }
}, },
@ -682,27 +646,6 @@
"Serilog": "2.10.0" "Serilog": "2.10.0"
} }
}, },
"Swashbuckle.AspNetCore.Swagger": {
"type": "Transitive",
"resolved": "6.8.1",
"contentHash": "eOkdM4bsWBU5Ty3kWbyq5O9L+05kZT0vOdGh4a92vIb/LLQGQTPLRHXuJdnUBNIPNC8XfKWfSbtRfqzI6nnbqw==",
"dependencies": {
"Microsoft.OpenApi": "1.6.14"
}
},
"Swashbuckle.AspNetCore.SwaggerGen": {
"type": "Transitive",
"resolved": "6.8.1",
"contentHash": "TjBPxsN0HeJzxEXZYeDXBNNMSyhg+TYXtkbwX+Cn8GH/y5ZeoB/chw0p71kRo5tR2sNshbKwL24T6f9pTF9PHg==",
"dependencies": {
"Swashbuckle.AspNetCore.Swagger": "6.8.1"
}
},
"Swashbuckle.AspNetCore.SwaggerUI": {
"type": "Transitive",
"resolved": "6.8.1",
"contentHash": "lpEszYJ7vZaTTE5Dp8MrsbSHrgDfjhDMjzW1qOA1Xs1Dnj3ZRBJAcPZUTsa5Bva+nLaw91JJ8OI8FkSg8hhIyA=="
},
"System.ComponentModel.Annotations": { "System.ComponentModel.Annotations": {
"type": "Transitive", "type": "Transitive",
"resolved": "5.0.0", "resolved": "5.0.0",
@ -718,23 +661,10 @@
"resolved": "5.0.1", "resolved": "5.0.1",
"contentHash": "qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==" "contentHash": "qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg=="
}, },
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
"resolved": "4.7.1",
"contentHash": "zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ=="
},
"System.Text.Encodings.Web": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ=="
},
"System.Text.Json": { "System.Text.Json": {
"type": "Transitive", "type": "Transitive",
"resolved": "8.0.4", "resolved": "9.0.0",
"contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==", "contentHash": "js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A=="
"dependencies": {
"System.Text.Encodings.Web": "8.0.0"
}
}, },
"System.Threading.Channels": { "System.Threading.Channels": {
"type": "Transitive", "type": "Transitive",

View file

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>