2024-08-17 16:38:40 +02:00
|
|
|
|
using Asp.Versioning.Builder;
|
|
|
|
|
|
using Asp.Versioning.Conventions;
|
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
|
|
|
|
using Vegasco.WebApi.Cars;
|
|
|
|
|
|
using Vegasco.WebApi.Common;
|
2024-08-23 18:02:18 +02:00
|
|
|
|
using Vegasco.WebApi.Consumptions;
|
2024-08-23 18:55:05 +02:00
|
|
|
|
using Vegasco.WebApi.Info;
|
2024-08-17 16:38:40 +02:00
|
|
|
|
|
|
|
|
|
|
namespace Vegasco.WebApi.Endpoints;
|
|
|
|
|
|
|
|
|
|
|
|
public static class EndpointExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
public static void MapEndpoints(this IEndpointRouteBuilder builder)
|
|
|
|
|
|
{
|
|
|
|
|
|
ApiVersionSet apiVersionSet = builder.NewApiVersionSet()
|
|
|
|
|
|
.HasApiVersion(1.0)
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
RouteGroupBuilder versionedApis = builder.MapGroup("/v{apiVersion:apiVersion}")
|
|
|
|
|
|
.WithApiVersionSet(apiVersionSet)
|
|
|
|
|
|
.RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy);
|
|
|
|
|
|
|
2024-08-17 16:38:40 +02:00
|
|
|
|
GetCar.MapEndpoint(versionedApis);
|
|
|
|
|
|
GetCars.MapEndpoint(versionedApis);
|
2024-08-17 16:38:40 +02:00
|
|
|
|
CreateCar.MapEndpoint(versionedApis);
|
2024-08-17 16:38:40 +02:00
|
|
|
|
UpdateCar.MapEndpoint(versionedApis);
|
|
|
|
|
|
DeleteCar.MapEndpoint(versionedApis);
|
2024-08-23 18:02:18 +02:00
|
|
|
|
|
|
|
|
|
|
GetConsumptions.MapEndpoint(versionedApis);
|
|
|
|
|
|
GetConsumption.MapEndpoint(versionedApis);
|
|
|
|
|
|
CreateConsumption.MapEndpoint(versionedApis);
|
|
|
|
|
|
UpdateConsumption.MapEndpoint(versionedApis);
|
|
|
|
|
|
DeleteConsumption.MapEndpoint(versionedApis);
|
2024-08-23 18:55:05 +02:00
|
|
|
|
|
|
|
|
|
|
GetServerInfo.MapEndpoint(versionedApis);
|
2024-08-17 16:38:40 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|