public QueryResponse QueryMapByDomain(string callingUrl, Guid domainId, int maxDepth, EdgeConditions edgeConditions, FilterConditions filterConditions)
{
using (GlymaNSApp.NodeServiceClient nodeServiceClient = new GlymaNSApp.NodeServiceClient(callingUrl))
{
/// This method requires security trimming so there is no need to check authentication here.
using (WebAppSPGlymaSession glymaSession = new WebAppSPGlymaSession(callingUrl))
{
GlymaSessionConfiguration configuration = glymaSession.ExportGlymaSession();
QueryResponse allRootMaps = nodeServiceClient.QueryMapByDomain(configuration, domainId, maxDepth, edgeConditions, filterConditions);
/// This method DOES traverse rootmap boundaries.
GlymaSecurityTrimmer securityTrimmer = new GlymaSecurityTrimmer(glymaSession.Web, glymaSession);
QueryResponse trimmedRootMaps = securityTrimmer.TrimResponse(allRootMaps, SPGlymaRightFactory.Instance.RootMapReadRight);
trimmedRootMaps.CompressResponse();
return trimmedRootMaps;
}
}
}