using Asp.Versioning.Builder; using Asp.Versioning.Conventions; using Microsoft.Extensions.DependencyInjection.Extensions; using Vegasco.WebApi.Cars; using Vegasco.WebApi.Common; using Vegasco.WebApi.Consumptions; using Vegasco.WebApi.Info; 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); GetCar.MapEndpoint(versionedApis); GetCars.MapEndpoint(versionedApis); CreateCar.MapEndpoint(versionedApis); UpdateCar.MapEndpoint(versionedApis); DeleteCar.MapEndpoint(versionedApis); GetConsumptions.MapEndpoint(versionedApis); GetConsumption.MapEndpoint(versionedApis); CreateConsumption.MapEndpoint(versionedApis); UpdateConsumption.MapEndpoint(versionedApis); DeleteConsumption.MapEndpoint(versionedApis); GetServerInfo.MapEndpoint(versionedApis); } }