-
Notifications
You must be signed in to change notification settings - Fork 519
Expand file tree
/
Copy pathSignContractEndpoint.cs
More file actions
28 lines (25 loc) · 1.1 KB
/
SignContractEndpoint.cs
File metadata and controls
28 lines (25 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
namespace EvolutionaryArchitecture.Fitnet.Contracts.Api.Sign;
using Application;
using Common.Api.Validations;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;
internal static class SignContractEndpoint
{
internal static void MapSignContract(this IEndpointRouteBuilder app) => app.MapPatch(ContractsApiPaths.Sign, async (
Guid id,
SignContractRequest request,
IContractsModule contractsModule, CancellationToken cancellationToken) =>
{
var command = request.ToCommand(id);
await contractsModule.ExecuteCommandAsync(command, cancellationToken);
return Results.NoContent();
})
.ValidateRequest<SignContractRequestValidator>()
.WithSummary("Signs prepared contract")
.WithDescription("This endpoint is used to sign prepared contract by customer.")
.Produces(StatusCodes.Status204NoContent)
.Produces(StatusCodes.Status404NotFound)
.Produces(StatusCodes.Status409Conflict)
.Produces(StatusCodes.Status500InternalServerError);
}