namespace zero.Preview; public class PreviewRouteProvider : ZeroRouteProvider { public PreviewRouteProvider() : base("zero.preview") { } /// public override Task IsRouteStale(RoutingContext context, PreviewRouteModel previous, PreviewRouteModel current) => Task.FromResult(false); /// public override async Task Create(RoutingContext context, PreviewRouteModel model) { Route route = await base.Create(context, model); route.Url = context.Context.Options.For().Path.EnsureStartsWith('/').TrimEnd('/'); return route; } /// public override async IAsyncEnumerable Seed(RoutingContext context) { yield return await Create(context, new PreviewRouteModel() { Id = String.Empty, Hash = String.Empty }); } /// public override Task Model(RoutingContext context, RouteResponse response) { return Task.FromResult(new PreviewRoute() { Route = response.Route }); } /// public override IRouteEndpoint Map(RoutingContext context, IRouteModel route) { return base.Map(context, route); } }