public Dictionary <Guid, QueryResponse> QueryDomains(string callingUrl) { 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(); Dictionary <Guid, QueryResponse> allDomains = nodeServiceClient.QueryDomains(configuration); GlymaSecurityTrimmer securityTrimmer = new GlymaSecurityTrimmer(glymaSession.Web, glymaSession); Dictionary <Guid, QueryResponse> authorisedDomains = securityTrimmer.TrimResponse(allDomains, SPGlymaRightFactory.Instance.ProjectReadRight); return(authorisedDomains); } } }
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); } } }