From fff26a4462afb027cc0d844dff5070bd0962ea81 Mon Sep 17 00:00:00 2001 From: Gavin Faux Date: Sat, 20 Jan 2024 11:14:08 +0000 Subject: [PATCH] get domain list based on content path --- src/Articulate/Routing/ArticulateRouter.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Articulate/Routing/ArticulateRouter.cs b/src/Articulate/Routing/ArticulateRouter.cs index c8fab78a..2d95db3d 100644 --- a/src/Articulate/Routing/ArticulateRouter.cs +++ b/src/Articulate/Routing/ArticulateRouter.cs @@ -153,7 +153,14 @@ private void MapRoute( _routeCache[art] = dynamicRouteValues; } - dynamicRouteValues.Add(articulateRootNode.Id, domains.Where(x => x.ContentId == articulateRootNode.Id).ToList()); + dynamicRouteValues.Add(articulateRootNode.Id, DomainsForContent(articulateRootNode,domains)); + } + + private List DomainsForContent(IPublishedContent content, IReadOnlyList domains) + { + var nodePaths = new HashSet(content.Path.Split(",").Select(int.Parse).ToList()); + + return domains.Where(domain => nodePaths.Contains(domain.ContentId)).ToList(); } private void MapOpenSearchRoute(HttpContext httpContext, string rootNodePath, IPublishedContent articulateRootNode, List domains)