public async Task <IDictionary <int, PageRoute> > ExecuteAsync(GetPageRouteLookupQuery query, IExecutionContext executionContext) { return(await _pageCache.GetOrAddAsync(() => { return GetAllPageRoutesAsync(query, executionContext); })); }
private async Task <IDictionary <int, PageRoute> > GetAllPageRoutesAsync(GetPageRouteLookupQuery query, IExecutionContext executionContext) { var dbPages = await GetPagesAsync(); var dbPageVersionLookup = await GetPageVersionsAsync(); var pageDirectories = await _queryExecutor.ExecuteAsync(new GetAllPageDirectoryRoutesQuery(), executionContext); var pageDirectoryLookup = pageDirectories.ToDictionary(d => d.PageDirectoryId); var templates = await GetPageTemplatesAsync(); var dbPageAccessRulesLookup = await GetAccessRulesAsync(); var allLocales = await _queryExecutor.ExecuteAsync(new GetAllActiveLocalesQuery(), executionContext); var routes = Map( dbPages, dbPageVersionLookup, pageDirectoryLookup, templates, dbPageAccessRulesLookup, allLocales ); return(routes); }
public IEnumerable <IPermissionApplication> GetPermissions(GetPageRouteLookupQuery query) { yield return(new PageReadPermission()); }