diff --git a/.github/workflows/chapter-1-workflow.yml b/.github/workflows/chapter-1-workflow.yml index 2473f564..6146ddec 100644 --- a/.github/workflows/chapter-1-workflow.yml +++ b/.github/workflows/chapter-1-workflow.yml @@ -25,7 +25,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore - name: Build @@ -43,7 +43,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore - name: Test diff --git a/Chapter-1-initial-architecture/Src/Directory.Build.props b/Chapter-1-initial-architecture/Src/Directory.Build.props index 43f86f66..9402f982 100644 --- a/Chapter-1-initial-architecture/Src/Directory.Build.props +++ b/Chapter-1-initial-architecture/Src/Directory.Build.props @@ -1,29 +1,29 @@ - - EvolutionaryArchitecture.$(MSBuildProjectName) - $(AssemblyName) - net9.0 - latest - true - true - enable - enable - true - true - - - - - - - - - + + EvolutionaryArchitecture.$(MSBuildProjectName) + $(AssemblyName) + net10.0 + latest + true + true + enable + enable + true + true + + + + + + + + + \ No newline at end of file diff --git a/Chapter-1-initial-architecture/Src/Fitnet.AppHost/Fitnet.AppHost.csproj b/Chapter-1-initial-architecture/Src/Fitnet.AppHost/Fitnet.AppHost.csproj index d74cba43..c40ca4eb 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.AppHost/Fitnet.AppHost.csproj +++ b/Chapter-1-initial-architecture/Src/Fitnet.AppHost/Fitnet.AppHost.csproj @@ -1,5 +1,5 @@ - + Exe @@ -10,8 +10,8 @@ - - + + diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj index 27a5a7c8..5dc37ac5 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj +++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj @@ -2,33 +2,26 @@ false - $(NoWarn);S3604;xUnit1050 + $(NoWarn);S3604;xUnit1045; - + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + runtime; build; native; contentfiles; analyzers; buildtransitive all + + + diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/GlobalUsings.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/GlobalUsings.cs index cbec3e0b..b985024b 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/GlobalUsings.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/GlobalUsings.cs @@ -1,8 +1,6 @@ // Global using directives -global using System.Collections; global using System.Net; -global using Xunit; global using Microsoft.AspNetCore.Mvc.Testing; global using Bogus; global using JetBrains.Annotations; diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/TestData/ReportTestCases.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/TestData/ReportTestCases.cs index 364b5aac..dae7f89b 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/TestData/ReportTestCases.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/TestData/ReportTestCases.cs @@ -1,31 +1,23 @@ namespace EvolutionaryArchitecture.Fitnet.IntegrationTests.Reports.GenerateNewPassesPerMonthReport.TestData; -internal sealed class ReportTestCases : IEnumerable +internal sealed class ReportTestCases : TheoryData> { internal static DateTimeOffset FakeNowDate = new(2021, 1, 1, 0, 0, 0, TimeSpan.Zero); - public IEnumerator GetEnumerator() - { - yield return - [ - new List - { - new(new DateTimeOffset(FakeNowDate.Year, 1, 3, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 1, 10 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 1, 5, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 1, 20 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 2, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 2, 28 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 3, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 3, 31 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 4, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 4, 30 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 5, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 5, 31 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 6, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 6, 30 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 7, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 7, 31 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 8, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 8, 31 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 9, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 9, 30 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 10, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 10, 31 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 11, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 11, 30 ,1, 1, 1,1, TimeSpan.Zero)), - new(new DateTimeOffset(FakeNowDate.Year, 12, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 12, 31 ,1, 1, 1,1, TimeSpan.Zero)) - } - ]; - } - - IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + public ReportTestCases() => Add(new List + { + new(new DateTimeOffset(FakeNowDate.Year, 1, 3, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 1, 10 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 1, 5, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 1, 20 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 2, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 2, 28 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 3, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 3, 31 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 4, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 4, 30 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 5, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 5, 31 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 6, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 6, 30 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 7, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 7, 31 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 8, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 8, 31 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 9, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 9, 30 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 10, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 10, 31 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 11, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 11, 30 ,1, 1, 1,1, TimeSpan.Zero)), + new(new DateTimeOffset(FakeNowDate.Year, 12, 1, 1, 1,1, TimeSpan.Zero), new DateTimeOffset(FakeNowDate.Year, 12, 31 ,1, 1, 1,1, TimeSpan.Zero)) + }); } diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/BusinessRulesEngine/FakeBusinessRule.cs b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/BusinessRulesEngine/FakeBusinessRule.cs index 8635be65..58b34180 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/BusinessRulesEngine/FakeBusinessRule.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/BusinessRulesEngine/FakeBusinessRule.cs @@ -1,6 +1,6 @@ namespace EvolutionaryArchitecture.Fitnet.UnitTests.BusinessRulesEngine; -using EvolutionaryArchitecture.Fitnet.Common.BusinessRulesEngine; +using Common.BusinessRulesEngine; internal sealed class FakeBusinessRule : IBusinessRule { diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/PrepareContract/RequestValidator/InvalidPrepareContractRequestTestCases.cs b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/PrepareContract/RequestValidator/InvalidPrepareContractRequestTestCases.cs index 9640d833..6220001c 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/PrepareContract/RequestValidator/InvalidPrepareContractRequestTestCases.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/PrepareContract/RequestValidator/InvalidPrepareContractRequestTestCases.cs @@ -2,23 +2,21 @@ namespace EvolutionaryArchitecture.Fitnet.UnitTests.Contracts.PrepareContract.Re using EvolutionaryArchitecture.Fitnet.Contracts.PrepareContract; -internal sealed class InvalidPrepareContractRequestTestCases : IEnumerable +internal sealed class InvalidPrepareContractRequestTestCases : TheoryData { private readonly Faker _faker = new(); private readonly DateTimeOffset _fakeNow = new Faker().Date.RecentOffset(); - public IEnumerator GetEnumerator() + public InvalidPrepareContractRequestTestCases() { var validContractParameters = PrepareContractParameters.GetValid(); - yield return new object[] { new PrepareContractRequest(Guid.Empty, validContractParameters.MinAge, validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerId) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), default, validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerAge) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), _faker.Random.Number(-100, -1), validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerAge) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, default, _fakeNow), nameof(PrepareContractRequest.CustomerHeight) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, _faker.Random.Number(-100, -1), _fakeNow), nameof(PrepareContractRequest.CustomerHeight) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, validContractParameters.MaxHeight, default), nameof(PrepareContractRequest.PreparedAt) }; - yield return new object[] { new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, validContractParameters.MaxHeight, default), nameof(PrepareContractRequest.PreparedAt) }; + Add(new PrepareContractRequest(Guid.Empty, validContractParameters.MinAge, validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerId)); + Add(new PrepareContractRequest(Guid.NewGuid(), default, validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerAge)); + Add(new PrepareContractRequest(Guid.NewGuid(), _faker.Random.Number(-100, -1), validContractParameters.MaxHeight, _fakeNow), nameof(PrepareContractRequest.CustomerAge)); + Add(new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, default, _fakeNow), nameof(PrepareContractRequest.CustomerHeight)); + Add(new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, _faker.Random.Number(-100, -1), _fakeNow), nameof(PrepareContractRequest.CustomerHeight)); + Add(new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, validContractParameters.MaxHeight, default), nameof(PrepareContractRequest.PreparedAt)); + Add(new PrepareContractRequest(Guid.NewGuid(), validContractParameters.MinAge, validContractParameters.MaxHeight, default), nameof(PrepareContractRequest.PreparedAt)); } - - IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); } diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj index 96428c6b..1f1b7ab9 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj +++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj @@ -2,9 +2,8 @@ false - $(NoWarn);xUnit1050 + $(NoWarn);xUnit1050;xUnit1044; - diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalUsings.cs b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalUsings.cs index 1dcc6f61..c27075f8 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalUsings.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalUsings.cs @@ -1,6 +1,5 @@ // Global using directives -global using System.Collections; global using Bogus; global using Microsoft.AspNetCore.Http; global using NSubstitute; diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Common/Documentation/SwaggerDocumentationExtensions.cs b/Chapter-1-initial-architecture/Src/Fitnet/Common/Documentation/SwaggerDocumentationExtensions.cs index 50f9183e..ae7bce7c 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Common/Documentation/SwaggerDocumentationExtensions.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Common/Documentation/SwaggerDocumentationExtensions.cs @@ -1,16 +1,11 @@ namespace EvolutionaryArchitecture.Fitnet.Common.Documentation; -using Microsoft.OpenApi.Models; - internal static class ApiDocumentationExtensions { internal static void UseApiDocumentation(this IEndpointRouteBuilder app) => app.MapGet("/", () => Results.Redirect("/swagger")) - .WithOpenApi(operation => new OpenApiOperation(operation) - { - Summary = "Documentation for the API", - Description = "This endpoint is used to redirect to the documentation for the API.", - }) + .WithSummary("Documentation for the API") + .WithDescription("This endpoint is used to redirect to the documentation for the API.") .Produces(StatusCodes.Status200OK) .WithTags("Documentation"); } diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/PrepareContract/PrepareContractEndpoint.cs b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/PrepareContract/PrepareContractEndpoint.cs index 0c70d647..a1985785 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/PrepareContract/PrepareContractEndpoint.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/PrepareContract/PrepareContractEndpoint.cs @@ -4,7 +4,6 @@ namespace EvolutionaryArchitecture.Fitnet.Contracts.PrepareContract; using Data; using Data.Database; using Microsoft.EntityFrameworkCore; -using Microsoft.OpenApi.Models; internal static class PrepareContractEndpoint { @@ -28,12 +27,8 @@ internal static void MapPrepareContract(this IEndpointRouteBuilder app) => return Results.Created($"/{ContractsApiPaths.Prepare}/{contract.Id}", contract.Id); }) .ValidateRequest() - .WithOpenApi(operation => new OpenApiOperation(operation) - { - Summary = "Triggers preparation of a new contract for new or existing customer", - Description = - "This endpoint is used to prepare a new contract for new and existing customers." - }) + .WithSummary("Triggers preparation of a new contract for new or existing customer") + .WithDescription("This endpoint is used to prepare a new contract for new and existing customers.") .Produces(StatusCodes.Status201Created) .Produces(StatusCodes.Status409Conflict) .Produces(StatusCodes.Status500InternalServerError); diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/SignContract/SignContractEndpoint.cs b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/SignContract/SignContractEndpoint.cs index db8da609..ebb5e99e 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/SignContract/SignContractEndpoint.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/SignContract/SignContractEndpoint.cs @@ -37,11 +37,8 @@ internal static void MapSignContract(this IEndpointRouteBuilder app) => app.MapP return Results.NoContent(); }) .ValidateRequest() - .WithOpenApi(operation => new(operation) - { - Summary = "Signs prepared contract", - Description = "This endpoint is used to sign prepared contract by customer." - }) + .WithSummary("Signs prepared contract") + .WithDescription("This endpoint is used to sign prepared contract by customer.") .Produces(StatusCodes.Status204NoContent) .Produces(StatusCodes.Status404NotFound) .Produces(StatusCodes.Status409Conflict) diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Fitnet.csproj b/Chapter-1-initial-architecture/Src/Fitnet/Fitnet.csproj index a14bf167..e49eebca 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Fitnet.csproj +++ b/Chapter-1-initial-architecture/Src/Fitnet/Fitnet.csproj @@ -10,10 +10,11 @@ - - - - + + + + + diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Passes/GetAllPasses/GetAllPassesEndpoint.cs b/Chapter-1-initial-architecture/Src/Fitnet/Passes/GetAllPasses/GetAllPassesEndpoint.cs index 28312f7d..3539e0db 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Passes/GetAllPasses/GetAllPassesEndpoint.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Passes/GetAllPasses/GetAllPassesEndpoint.cs @@ -17,12 +17,8 @@ internal static void MapGetAllPasses(this IEndpointRouteBuilder app) => return Results.Ok(response); }) - .WithOpenApi(operation => new(operation) - { - Summary = "Returns all passes that exist in the system", - Description = - "This endpoint is used to retrieve all existing passes.", - }) + .WithSummary("Returns all passes that exist in the system") + .WithDescription("This endpoint is used to retrieve all existing passes.") .Produces() .Produces(StatusCodes.Status500InternalServerError); } \ No newline at end of file diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Passes/MarkPassAsExpired/MarkPassAsExpiredEndpoint.cs b/Chapter-1-initial-architecture/Src/Fitnet/Passes/MarkPassAsExpired/MarkPassAsExpiredEndpoint.cs index 4415f46f..ba6742e6 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Passes/MarkPassAsExpired/MarkPassAsExpiredEndpoint.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Passes/MarkPassAsExpired/MarkPassAsExpiredEndpoint.cs @@ -30,12 +30,8 @@ await eventBus.PublishAsync( return Results.NoContent(); }) - .WithOpenApi(operation => new(operation) - { - Summary = "Marks pass which expired", - Description = - "This endpoint is used to mark expired pass. Based on that it is possible to offer new contract to customer.", - }) + .WithSummary("Marks pass which expired") + .WithDescription("This endpoint is used to mark expired pass. Based on that it is possible to offer new contract to customer.") .Produces(StatusCodes.Status204NoContent) .Produces(StatusCodes.Status404NotFound) .Produces(StatusCodes.Status500InternalServerError); diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Reports/GenerateNewPassesRegistrationsPerMonthReport/GenerateNewPassesPerMonthReportEndpoint.cs b/Chapter-1-initial-architecture/Src/Fitnet/Reports/GenerateNewPassesRegistrationsPerMonthReport/GenerateNewPassesPerMonthReportEndpoint.cs index e25b3196..b41e80f1 100644 --- a/Chapter-1-initial-architecture/Src/Fitnet/Reports/GenerateNewPassesRegistrationsPerMonthReport/GenerateNewPassesPerMonthReportEndpoint.cs +++ b/Chapter-1-initial-architecture/Src/Fitnet/Reports/GenerateNewPassesRegistrationsPerMonthReport/GenerateNewPassesPerMonthReportEndpoint.cs @@ -15,12 +15,8 @@ internal static void MapGenerateNewPassesRegistrationsPerMonthReport(this IEndpo return Results.Ok(newPassesRegistrationsPerMonthResponse); }) - .WithOpenApi(operation => new(operation) - { - Summary = "Returns report of all passes registered in a month", - Description = - "This endpoint is used to retrieve all passes that were registered in a given month." - }) + .WithSummary("Returns report of all passes registered in a month") + .WithDescription("This endpoint is used to retrieve all passes that were registered in a given month.") .Produces() .Produces(StatusCodes.Status500InternalServerError); }