Files
vegasco/src/Vegasco.Server.Api/Endpoints/EndpointExtensions.cs

46 lines
1.8 KiB
C#

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);
}
}