public override async Task <IDisplayResult> EditAsync(ElasticSearchSettings section, BuildEditorContext context) { var user = _httpContextAccessor.HttpContext?.User; if (!await _authorizationService.AuthorizeAsync(user, Permissions.ManageElasticSearchSettings)) { return(null); } return(Initialize <ElasticSearchSettingsViewModel>("ElasticSearchSettings_Edit", async model => { model.ClusterUrl = section.ClusterUrl; model.SearchIndex = section.SearchIndex; var client = await _elasticIndexManager.Client(); IEnumerable <string> elasticIndices = client.Indices.Stats(new IndicesStatsRequest( )).Indices.Select(x => x.Key).Distinct(); model.SearchIndexes = elasticIndices; }).Location("Content:2").OnGroup(GroupId)); }
public async Task <ActionResult> Index() { var viewModel = new AdminIndexViewModel(); var client = await _elasticIndexManager.Client(); IEnumerable <string> elasticIndices = client.Indices.Stats(new IndicesStatsRequest( )).Indices.Select(x => x.Key).Distinct(); viewModel.Indexes = elasticIndices.Select(s => new IndexViewModel { Name = s }).ToArray(); return(View(viewModel)); }