public async Task <ICollection <PageRoute> > ExecuteAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext) { return(await _pageCache.GetOrAddAsync(() => { return GetAllPageRoutesAsync(query, executionContext); })); }
private async Task <ICollection <PageRoute> > GetAllPageRoutesAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext) { var dbPages = await QueryPages().ToListAsync(); var dbPageVersions = await QueryPageVersions().ToListAsync(); var pageDirectories = await _queryExecutor.ExecuteAsync(new GetAllPageDirectoryRoutesQuery(), executionContext); var pageDirectoryLookup = pageDirectories.ToDictionary(d => d.PageDirectoryId); var templates = await GetPageTemplates().ToDictionaryAsync(t => t.PageTemplateId); var allLocales = await _queryExecutor.ExecuteAsync(new GetAllActiveLocalesQuery(), executionContext); var routes = Map(dbPages, dbPageVersions, pageDirectoryLookup, templates, allLocales); return(routes); }
/// <summary> /// Returns a collection of page routing data for all pages. The /// PageRoute projection is a small page object focused on providing /// routing data only. Data returned from this query is cached by /// default as it's core to routing and often incorporated in more detailed /// page projections. /// </summary> /// <param name="executionContext">Optional execution context to use when executing the query. Useful if you need to temporarily elevate your permission level.</param> public Task <ICollection <PageRoute> > GetAllPageRoutesAsync(IExecutionContext executionContext = null) { var query = new GetAllPageRoutesQuery(); return(_queryExecutor.ExecuteAsync(query, executionContext)); }
public Task <ICollection <PageRoute> > AsRoutesAsync() { var query = new GetAllPageRoutesQuery(); return(ExtendableContentRepository.ExecuteQueryAsync(query)); }
public IContentRepositoryQueryContext <ICollection <PageRoute> > AsRoutes() { var query = new GetAllPageRoutesQuery(); return(ContentRepositoryQueryContextFactory.Create(query, ExtendableContentRepository)); }
public IEnumerable <IPermissionApplication> GetPermissions(GetAllPageRoutesQuery query) { yield return(new PageReadPermission()); }
public async Task <ICollection <PageRoute> > ExecuteAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext) { var result = await _queryExecutor.ExecuteAsync(new GetPageRouteLookupQuery()); return(result.Values); }