public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityRenderSummariesByUrlSlugQuery query) { var definition = _customEntityDefinitionRepository.GetByCode(query.CustomEntityDefinitionCode); EntityNotFoundException.ThrowIfNull(definition, query.CustomEntityDefinitionCode); yield return(new CustomEntityReadPermission(definition)); }
private async Task <CustomEntityRenderSummary> GetMenuByIdAsync(string menuId) { var customEntityQuery = new GetCustomEntityRenderSummariesByUrlSlugQuery(SimpleMenuDefinition.DefinitionCode, menuId); var menus = await _customEntityRepository.GetCustomEntityRenderSummariesByUrlSlugAsync(customEntityQuery); // Forcing UrlSlug uniqueness is a setting on the custom entity definition and therefpre // the query has to account for multiple return items. Here we only expect one item. return(menus.FirstOrDefault()); }
private async Task <CustomEntityRenderSummary> GetSnippetByIdAsync(string name) { var customEntityQuery = new GetCustomEntityRenderSummariesByUrlSlugQuery(SnippetCustomEntityDefinition.DefinitionCode, name); var snippets = await ContentRepository.ExecuteQueryAsync(customEntityQuery); // Forcing UrlSlug uniqueness is a setting on the custom entity definition and therefpre // the query has to account for multiple return items. Here we only expect one item. return(snippets.FirstOrDefault()); }
public IDomainRepositoryQueryContext <ICollection <CustomEntityRenderSummary> > AsRenderSummaries() { var query = new GetCustomEntityRenderSummariesByUrlSlugQuery() { CustomEntityDefinitionCode = _customEntityDefinition.CustomEntityDefinitionCode, UrlSlug = _urlSlug }; return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository)); }
public async Task <string> GetSetting(string name) { var customEntityQuery = new GetCustomEntityRenderSummariesByUrlSlugQuery(AdminSettingCustomEntityDefinition.DefinitionCode, name); var settings = await ContentRepository.ExecuteQueryAsync(customEntityQuery); var setting = settings?.FirstOrDefault(); if (setting == null) { throw new ArgumentException($"Could not find any admin setting with name '{name}'."); } return(((AdminSettingDataModel)setting.Model).Value); }
public async Task <ICollection <CustomEntityRenderSummary> > ExecuteAsync(GetCustomEntityRenderSummariesByUrlSlugQuery query, IExecutionContext executionContext) { var dbResult = await _dbContext .CustomEntityPublishStatusQueries .AsNoTracking() .Include(e => e.CustomEntityVersion) .ThenInclude(e => e.CustomEntity) .FilterActive() .FilterByCustomEntityDefinitionCode(query.CustomEntityDefinitionCode) .FilterByCustomEntityUrlSlug(query.UrlSlug) .FilterByStatus(query.PublishStatus, executionContext.ExecutionDate) .Select(e => e.CustomEntityVersion) .ToListAsync(); if (!dbResult.Any()) { return(Array.Empty <CustomEntityRenderSummary>()); } var result = await _customEntityRenderSummaryMapper.MapAsync(dbResult, executionContext); return(result); }
private IDomainRepositoryQueryMutator <ICollection <CustomEntityRenderSummary>, CustomEntityRenderSummary> AsRenderSummaryInternal(PublishStatusQuery?publishStatusQuery) { if (!_customEntityDefinition.ForceUrlSlugUniqueness) { throw new InvalidOperationException($"{nameof(AsRenderSummary)} cannot be used if the custom entity definition has {nameof(_customEntityDefinition.ForceUrlSlugUniqueness)} set to false."); } var query = new GetCustomEntityRenderSummariesByUrlSlugQuery() { CustomEntityDefinitionCode = _customEntityDefinition.CustomEntityDefinitionCode, UrlSlug = _urlSlug }; if (publishStatusQuery.HasValue) { query.PublishStatus = publishStatusQuery.Value; } var mapped = DomainRepositoryQueryContextFactory .Create(query, ExtendableContentRepository) .Map(r => r.SingleOrDefault()); return(mapped); }
public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityRenderSummariesByUrlSlugQuery query) { var definition = _customEntityDefinitionRepository.GetRequiredByCode(query.CustomEntityDefinitionCode); yield return(new CustomEntityReadPermission(definition)); }