using Asp.Versioning.Builder; using Asp.Versioning.Conventions; using Vegasco.Server.Api.Cars; using Vegasco.Server.Api.Common; using Vegasco.Server.Api.Consumptions; using Vegasco.Server.Api.Info; namespace Vegasco.Server.Api.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); GetCar.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); GetCars.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); CreateCar.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); UpdateCar.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); DeleteCar.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); GetConsumptions.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); GetConsumption.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); CreateConsumption.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); UpdateConsumption.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); DeleteConsumption.MapEndpoint(versionedApis) .RequireAuthorization(Constants.Authorization.RequireAuthenticatedUserPolicy); GetServerInfo.MapEndpoint(versionedApis); } }