This commit is contained in:
Tomasi - Developing 2025-04-10 15:41:00 +02:00
parent c53f339e78
commit c48d8d8211
56 changed files with 605 additions and 279 deletions

View File

@ -8,20 +8,21 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Asp.Versioning.Mvc" Version="8.1.0" /> <PackageReference Include="Asp.Versioning.Mvc" Version="8.1.0" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="8.0.2" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="9.0.0" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="8.0.1" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="9.0.0" />
<PackageReference Include="Azure.Identity" Version="1.11.4" /> <PackageReference Include="Azure.Identity" Version="1.13.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0"> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.4">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="9.0.4" />
<PackageReference Include="Octokit" Version="14.0.0" /> <PackageReference Include="Octokit" Version="14.0.0" />
<PackageReference Include="Serilog" Version="4.1.0" /> <PackageReference Include="Serilog" Version="4.2.0" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.0.0" /> <PackageReference Include="Serilog.Sinks.Seq" Version="9.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="7.2.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}",e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAdmonitions)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -46,8 +49,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAdmonition)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -66,8 +72,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerAdmonitions)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -88,8 +97,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateAdmonition)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -112,8 +124,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateAdmonition)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -130,8 +145,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteAdmonition)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAlliances)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -46,8 +49,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAlliance)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -68,8 +74,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateAlliance)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -86,8 +95,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteAlliance)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceApiKey)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -50,8 +53,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateApiKey)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -74,8 +80,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateApiKey)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -92,8 +101,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteApiKey)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(SignUp)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -52,8 +55,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(RegisterUser)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -73,8 +79,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(Login)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -96,8 +105,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ResendConfirmationEmail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -118,8 +130,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ConfirmEmail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -139,8 +154,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(InviteUser)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -157,14 +175,17 @@ namespace Api.Controllers.v1
if (forgotPasswordResponse.IsFailure) if (forgotPasswordResponse.IsFailure)
{ {
logger.LogWarning(forgotPasswordResponse.Error.Name); logger.LogWarning("{@ForgotPasswordError}", forgotPasswordResponse.Error);
} }
return Ok(true); return Ok(true);
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ForgotPassword)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -188,8 +209,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ResetPassword)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetCustomEventParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -54,8 +57,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerCustomEventParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -77,8 +83,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(InsertCustomEventParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -104,8 +113,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateCustomEventParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetCustomEvent)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -49,8 +52,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceCustomEvents)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -69,8 +75,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetCustomEventDetail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -92,8 +101,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateCustomEvent)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -116,8 +128,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateCustomEvent)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -134,8 +149,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteCustomEvent)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetDesertStormParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -53,8 +56,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerDesertStormParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -76,8 +82,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(InsertDesertStormParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -103,8 +112,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateMarshalGuardParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -28,8 +28,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetDesertStorm)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -49,8 +52,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceDesertStorms)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -69,8 +75,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetDesertStormDetail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -92,8 +101,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateDesertStorm)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -116,8 +128,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateDesertStorm)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -134,8 +149,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteDesertStorm)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -22,8 +22,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(PostFeedback)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetMarshalGuardParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -49,8 +52,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerMarshalGuardsParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -72,8 +78,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(InsertMarshalGuardParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -98,8 +107,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateMarshalGuardParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -27,9 +27,12 @@ namespace Api.Controllers.v1
: Ok(marshalGuardResult.Value); : Ok(marshalGuardResult.Value);
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetMarshalGuard)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -49,8 +52,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceMarshalGuards)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -69,8 +75,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetMarshalGuardDetail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -93,8 +102,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateMarshalGuard)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -118,8 +130,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateMarshalGuard)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -138,8 +153,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteMarshalGuard)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -26,8 +26,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetNote)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -47,8 +50,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerNotes)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -68,8 +74,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateNote)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -91,8 +100,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateNote)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -109,8 +121,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteNote)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -31,8 +31,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -53,8 +56,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAlliancePlayers)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -75,8 +81,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceDismissPlayers)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -95,8 +104,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetDismissPlayerInformation)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -120,8 +132,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceMvp)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -141,8 +156,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreatePlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -175,8 +193,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ImportPlayersFromExcel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -198,8 +219,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdatePlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -222,8 +246,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DismissPlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -245,8 +272,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ReactivePlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -264,8 +294,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeletePlayer)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -27,8 +27,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetRanks)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceUsers)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -47,8 +50,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetUser)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -70,8 +76,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateUser)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -93,8 +102,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(ChangeUserPassword)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -111,8 +123,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteUser)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -1,9 +1,6 @@
using Api.Helpers; using Api.Helpers;
using Asp.Versioning; using Asp.Versioning;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.WebEncoders.Testing;
namespace Api.Controllers.v1 namespace Api.Controllers.v1
{ {

View File

@ -27,8 +27,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetVsDuelLeagues)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -31,8 +31,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateVsDuelParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -51,8 +54,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerVsDuelParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -27,8 +27,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetVsDuel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -48,8 +51,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceVsDuels)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -66,8 +72,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetDetailVsDuel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -88,8 +97,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateVsDuel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -111,8 +123,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateVsDuel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -129,8 +144,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteVsDuel)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetZombieSiegeParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -50,8 +53,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetPlayerZombieSiegeParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -73,8 +79,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(InsertZombieSiegeParticipants)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -100,8 +109,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateZombieSiegeParticipant)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -29,8 +29,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetZombieSiege)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -51,8 +54,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetAllianceZombieSieges)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -71,8 +77,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(GetZombieSiegeDetail)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -94,8 +103,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(CreateZombieSiege)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -118,8 +130,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(UpdateZombieSiege)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
@ -136,8 +151,11 @@ namespace Api.Controllers.v1
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ErrorMessage}", e.Message);
return StatusCode(StatusCodes.Status500InternalServerError); return Problem(
detail: $"Failed to process {nameof(DeleteZombieSiege)}",
statusCode: StatusCodes.Status500InternalServerError,
title: "Internal server error");
} }
} }
} }

View File

@ -17,11 +17,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="AutoMapper" Version="13.0.1" /> <PackageReference Include="AutoMapper" Version="14.0.0" />
<PackageReference Include="ExcelDataReader" Version="3.7.0" /> <PackageReference Include="ExcelDataReader" Version="3.7.0" />
<PackageReference Include="ExcelDataReader.DataSet" Version="3.7.0" /> <PackageReference Include="ExcelDataReader.DataSet" Version="3.7.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="7.2.0" /> <PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -43,9 +43,9 @@ public class EncryptionService : IEncryptionService
aes.Key = _key; aes.Key = _key;
aes.IV = _iv; aes.IV = _iv;
using var decryptor = aes.CreateDecryptor(aes.Key, aes.IV); using var decrypt = aes.CreateDecryptor(aes.Key, aes.IV);
using var memoryStream = new MemoryStream(Convert.FromBase64String(encryptedText)); using var memoryStream = new MemoryStream(Convert.FromBase64String(encryptedText));
await using var cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read); await using var cryptoStream = new CryptoStream(memoryStream, decrypt, CryptoStreamMode.Read);
using var reader = new StreamReader(cryptoStream, Encoding.UTF8); using var reader = new StreamReader(cryptoStream, Encoding.UTF8);
return await reader.ReadToEndAsync(); return await reader.ReadToEndAsync();

View File

@ -62,7 +62,7 @@ public class AdmonitionRepository(ApplicationContext context, IMapper mapper, IL
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}",e.Message);
return Result.Failure<AdmonitionDto>(GeneralErrors.DatabaseError); return Result.Failure<AdmonitionDto>(GeneralErrors.DatabaseError);
} }
} }
@ -84,7 +84,7 @@ public class AdmonitionRepository(ApplicationContext context, IMapper mapper, IL
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<AdmonitionDto>(GeneralErrors.DatabaseError); return Result.Failure<AdmonitionDto>(GeneralErrors.DatabaseError);
} }
} }
@ -105,7 +105,7 @@ public class AdmonitionRepository(ApplicationContext context, IMapper mapper, IL
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -1,16 +1,17 @@
using Application.Classes; using Application.Classes;
using Application.DataTransferObjects.Admonition;
using Application.DataTransferObjects.Alliance; using Application.DataTransferObjects.Alliance;
using Application.Errors; using Application.Errors;
using Application.Interfaces; using Application.Interfaces;
using AutoMapper; using AutoMapper;
using AutoMapper.QueryableExtensions; using AutoMapper.QueryableExtensions;
using Database; using Database;
using Database.Entities;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
namespace Application.Repositories; namespace Application.Repositories;
public class AllianceRepository(ApplicationContext context, IMapper mapper) : IAllianceRepository public class AllianceRepository(ApplicationContext context, IMapper mapper, ILogger<AllianceRepository> logger) : IAllianceRepository
{ {
public async Task<Result<List<AllianceDto>>> GetAlliancesAsync(CancellationToken cancellationToken) public async Task<Result<List<AllianceDto>>> GetAlliancesAsync(CancellationToken cancellationToken)
{ {
@ -44,9 +45,18 @@ public class AllianceRepository(ApplicationContext context, IMapper mapper) : IA
mapper.Map(updateAllianceDto, allianceToUpdate); mapper.Map(updateAllianceDto, allianceToUpdate);
allianceToUpdate.ModifiedBy = modifiedBy; allianceToUpdate.ModifiedBy = modifiedBy;
await context.SaveChangesAsync(cancellationToken); try
{
await context.SaveChangesAsync(cancellationToken);
return Result.Success(mapper.Map<AllianceDto>(allianceToUpdate));
}
catch (Exception e)
{
logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<AllianceDto>(GeneralErrors.DatabaseError);
}
return Result.Success(mapper.Map<AllianceDto>(allianceToUpdate));
} }
public async Task<Result<bool>> DeleteAllianceAsync(Guid allianceId, CancellationToken cancellationToken) public async Task<Result<bool>> DeleteAllianceAsync(Guid allianceId, CancellationToken cancellationToken)
@ -57,8 +67,18 @@ public class AllianceRepository(ApplicationContext context, IMapper mapper) : IA
if (allianceToDelete is null) return Result.Failure<bool>(AllianceErrors.NotFound); if (allianceToDelete is null) return Result.Failure<bool>(AllianceErrors.NotFound);
context.Alliances.Remove(allianceToDelete); context.Alliances.Remove(allianceToDelete);
await context.SaveChangesAsync(cancellationToken);
return Result.Success(true); try
{
await context.SaveChangesAsync(cancellationToken);
return Result.Success(true);
}
catch (Exception e)
{
logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError);
}
} }
} }

View File

@ -72,7 +72,7 @@ public class ApiKeyRepository(ApplicationContext context, ILogger<ApiKeyReposito
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<ApiKeyDto>(GeneralErrors.DatabaseError); return Result.Failure<ApiKeyDto>(GeneralErrors.DatabaseError);
} }
} }
@ -108,7 +108,7 @@ public class ApiKeyRepository(ApplicationContext context, ILogger<ApiKeyReposito
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<ApiKeyDto>(GeneralErrors.DatabaseError); return Result.Failure<ApiKeyDto>(GeneralErrors.DatabaseError);
} }
} }
@ -128,7 +128,7 @@ public class ApiKeyRepository(ApplicationContext context, ILogger<ApiKeyReposito
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -250,7 +250,11 @@ public class AuthenticationRepository(UserManager<User> userManager, Application
var emailSendResponse = await emailService.SendEmailAsync(emailConfirmMessage); var emailSendResponse = await emailService.SendEmailAsync(emailConfirmMessage);
if (emailSendResponse) return Result.Success(); if (emailSendResponse)
{
logger.LogInformation("User {UserName} with Alliance: {AllianzName} registered successfully", newUser.PlayerName, createAllianceResult.Value.Name);
return Result.Success();
}
await userManager.DeleteAsync(newUser); await userManager.DeleteAsync(newUser);
await RollbackAlliance(createAllianceResult.Value, cancellationToken); await RollbackAlliance(createAllianceResult.Value, cancellationToken);
@ -268,7 +272,7 @@ public class AuthenticationRepository(UserManager<User> userManager, Application
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<Alliance>(GeneralErrors.DatabaseError); return Result.Failure<Alliance>(GeneralErrors.DatabaseError);
} }
} }
@ -284,7 +288,7 @@ public class AuthenticationRepository(UserManager<User> userManager, Application
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -39,7 +39,7 @@ public class CustomEventParticipantRepository(ApplicationContext context, IMappe
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }
@ -76,7 +76,7 @@ public class CustomEventParticipantRepository(ApplicationContext context, IMappe
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<CustomEventParticipantDto>(GeneralErrors.DatabaseError); return Result.Failure<CustomEventParticipantDto>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -78,7 +78,7 @@ public class CustomEventRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<CustomEventDto>(GeneralErrors.DatabaseError); return Result.Failure<CustomEventDto>(GeneralErrors.DatabaseError);
} }
@ -103,7 +103,7 @@ public class CustomEventRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<CustomEventDto>(GeneralErrors.DatabaseError); return Result.Failure<CustomEventDto>(GeneralErrors.DatabaseError);
} }
} }
@ -124,7 +124,7 @@ public class CustomEventRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -39,7 +39,7 @@ public class DesertStormParticipantRepository(ApplicationContext context, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }
@ -76,7 +76,7 @@ public class DesertStormParticipantRepository(ApplicationContext context, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<DesertStormParticipantDto>(GeneralErrors.DatabaseError); return Result.Failure<DesertStormParticipantDto>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -76,7 +76,7 @@ public class DesertStormRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<DesertStormDto>(GeneralErrors.DatabaseError); return Result.Failure<DesertStormDto>(GeneralErrors.DatabaseError);
} }
} }
@ -98,7 +98,7 @@ public class DesertStormRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<DesertStormDto>(GeneralErrors.DatabaseError); return Result.Failure<DesertStormDto>(GeneralErrors.DatabaseError);
} }
} }
@ -119,7 +119,7 @@ public class DesertStormRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -39,7 +39,7 @@ public class MarshalGuardParticipantRepository(ApplicationContext context, IMapp
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }
@ -76,7 +76,7 @@ public class MarshalGuardParticipantRepository(ApplicationContext context, IMapp
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<MarshalGuardParticipantDto>(GeneralErrors.DatabaseError); return Result.Failure<MarshalGuardParticipantDto>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -77,7 +77,7 @@ public class MarshalGuardRepository(ApplicationContext context, IMapper mapper,
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<MarshalGuardDto>(GeneralErrors.DatabaseError); return Result.Failure<MarshalGuardDto>(GeneralErrors.DatabaseError);
} }
} }
@ -99,7 +99,7 @@ public class MarshalGuardRepository(ApplicationContext context, IMapper mapper,
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<MarshalGuardDto>(GeneralErrors.DatabaseError); return Result.Failure<MarshalGuardDto>(GeneralErrors.DatabaseError);
} }
} }
@ -120,7 +120,7 @@ public class MarshalGuardRepository(ApplicationContext context, IMapper mapper,
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -51,7 +51,7 @@ public class NoteRepository(ApplicationContext context, IMapper mapper, ILogger<
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<NoteDto>(GeneralErrors.DatabaseError); return Result.Failure<NoteDto>(GeneralErrors.DatabaseError);
} }
} }
@ -73,7 +73,7 @@ public class NoteRepository(ApplicationContext context, IMapper mapper, ILogger<
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<NoteDto>(GeneralErrors.DatabaseError); return Result.Failure<NoteDto>(GeneralErrors.DatabaseError);
} }
} }
@ -94,7 +94,7 @@ public class NoteRepository(ApplicationContext context, IMapper mapper, ILogger<
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -164,7 +164,7 @@ public class PlayerRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError); return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError);
} }
} }
@ -186,7 +186,7 @@ public class PlayerRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError); return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError);
} }
} }
@ -220,7 +220,7 @@ public class PlayerRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError); return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError);
} }
} }
@ -254,7 +254,7 @@ public class PlayerRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError); return Result.Failure<PlayerDto>(GeneralErrors.DatabaseError);
} }
} }
@ -306,7 +306,7 @@ public class PlayerRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -112,7 +112,7 @@ public class UserRepository(ApplicationContext context, ILogger<UserRepository>
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<UserDto>(GeneralErrors.DatabaseError); return Result.Failure<UserDto>(GeneralErrors.DatabaseError);
} }
@ -134,8 +134,8 @@ public class UserRepository(ApplicationContext context, ILogger<UserRepository>
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure(GeneralErrors.DatabaseError); return Result.Failure(GeneralErrors.DatabaseError);
} }

View File

@ -28,7 +28,7 @@ public class VsDuelParticipantRepository(ApplicationContext context, IMapper map
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<VsDuelParticipantDto>(GeneralErrors.DatabaseError); return Result.Failure<VsDuelParticipantDto>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -81,7 +81,7 @@ public class VsDuelRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<VsDuelDto>(GeneralErrors.DatabaseError); return Result.Failure<VsDuelDto>(GeneralErrors.DatabaseError);
} }
} }
@ -103,7 +103,7 @@ public class VsDuelRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<VsDuelDto>(GeneralErrors.DatabaseError); return Result.Failure<VsDuelDto>(GeneralErrors.DatabaseError);
} }
} }
@ -124,7 +124,7 @@ public class VsDuelRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }
@ -146,7 +146,7 @@ public class VsDuelRepository(ApplicationContext context, IMapper mapper, ILogge
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure(GeneralErrors.DatabaseError); return Result.Failure(GeneralErrors.DatabaseError);
} }
} }

View File

@ -38,7 +38,7 @@ public class ZombieSiegeParticipantRepository(ApplicationContext context, IMappe
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }
@ -76,7 +76,7 @@ public class ZombieSiegeParticipantRepository(ApplicationContext context, IMappe
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<ZombieSiegeParticipantDto>(GeneralErrors.DatabaseError); return Result.Failure<ZombieSiegeParticipantDto>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -77,7 +77,7 @@ public class ZombieSiegeRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<ZombieSiegeDto>(GeneralErrors.DatabaseError); return Result.Failure<ZombieSiegeDto>(GeneralErrors.DatabaseError);
} }
} }
@ -100,7 +100,7 @@ public class ZombieSiegeRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<ZombieSiegeDto>(GeneralErrors.DatabaseError); return Result.Failure<ZombieSiegeDto>(GeneralErrors.DatabaseError);
} }
@ -121,7 +121,7 @@ public class ZombieSiegeRepository(ApplicationContext context, IMapper mapper, I
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{DateBaseErrorMessage}", e.Message);
return Result.Failure<bool>(GeneralErrors.DatabaseError); return Result.Failure<bool>(GeneralErrors.DatabaseError);
} }
} }

View File

@ -101,7 +101,7 @@ public class ExcelService(ApplicationContext context, ILogger<ExcelService> logg
} }
catch (Exception e) catch (Exception e)
{ {
logger.LogError(e, e.Message); logger.LogError(e, "{ExcelErrorMessage}", e.Message);
return Result.Failure<ExcelImportResponse>(new Error("", "")); return Result.Failure<ExcelImportResponse>(new Error("", ""));
} }
} }

View File

@ -24,7 +24,7 @@ public class JwtService(IConfiguration configuration, UserManager<User> userMana
public async Task<List<Claim>> GetClaimsAsync(User user) public async Task<List<Claim>> GetClaimsAsync(User user)
{ {
var claims = new List<Claim>() var claims = new List<Claim>
{ {
new("email", user.Email!), new("email", user.Email!),
new("playerName", user.PlayerName), new("playerName", user.PlayerName),

View File

@ -7,12 +7,12 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="9.0.0" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="9.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.3.1" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0"> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.4">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
using System; // <auto-generated />
using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable

View File

@ -1,4 +1,5 @@
// <auto-generated /> // <auto-generated />
// <auto-generated />
using System; using System;
using Database; using Database;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;

View File

@ -17,6 +17,15 @@ All notable changes to this project are documented here.
This project is currently in the **Beta Phase**. This project is currently in the **Beta Phase**.
--- ---
### **[0.8.3]** - *2025-04-10*
#### ♻️ Changed
- **NuGet Packages:** Updated all dependencies, including Serilog and Seq, to their latest stable versions.
- **Logging Setup:** Cleaned up and reorganized the Serilog configuration for improved clarity and maintainability.
---
🛠️ **Fixed**
- (N/A)
### **[0.8.0]** - *2025-03-11* ### **[0.8.0]** - *2025-03-11*
#### ✨ Added #### ✨ Added
- **Feedback Page:** Users can now submit feedback, including bug reports and feature requests. - **Feedback Page:** Users can now submit feedback, including bug reports and feature requests.
@ -27,6 +36,8 @@ This project is currently in the **Beta Phase**.
🛠️ **Fixed** 🛠️ **Fixed**
- (N/A) - (N/A)
---
### **[0.7.0]** - *2025-02-06* ### **[0.7.0]** - *2025-02-06*
#### ✨ Added #### ✨ Added
- **MVP Page**: A new page has been introduced where players can be loaded and a list of MVPs is displayed based on a calculation formula. - **MVP Page**: A new page has been introduced where players can be loaded and a list of MVPs is displayed based on a calculation formula.
@ -37,6 +48,7 @@ This project is currently in the **Beta Phase**.
#### 🛠️ Fixed #### 🛠️ Fixed
- *(N/A)* - *(N/A)*
---
### **[0.6.1]** - *2025-01-28* ### **[0.6.1]** - *2025-01-28*
#### ✨ Added #### ✨ Added

View File

@ -11,10 +11,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="MailKit" Version="4.8.0" /> <PackageReference Include="MailKit" Version="4.11.0" />
<PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.17" /> <PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.17" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.4" />
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="9.0.4" />
<PackageReference Include="Octokit" Version="14.0.0" /> <PackageReference Include="Octokit" Version="14.0.0" />
</ItemGroup> </ItemGroup>