using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Routing;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Public.Web.Pages;
namespace Volo.CmsKit.Public.Web;
public static class CmsKitPagesConfigurationExtensions
{
///
/// Maps CMS Kit to the routing.
///
///
/// The matching order for the dynamic route. Lower is prior.
public static IEndpointRouteBuilder MapCmsPageRoute(this IEndpointRouteBuilder builder, int? order = null)
{
if (!GlobalFeatureManager.Instance.IsEnabled())
{
return builder;
}
builder
.MapDynamicPageRoute("/", state: null, order: int.MinValue);
if (order is null)
{
builder
.MapDynamicPageRoute("{**slug}");
}
else
{
builder
.MapDynamicPageRoute("{**slug}", state: default, order: order.Value);
}
return builder;
}
}