private List <IndexerResource> GetSchema() { var indexers = _indexerService.Schema(); var result = new List <IndexerResource>(indexers.Count); foreach (var indexer in indexers) { var indexerResource = new IndexerResource(); indexerResource.InjectFrom(indexer); indexerResource.Fields = SchemaBuilder.GenerateSchema(indexer.Settings); result.Add(indexerResource); } return(result); }
private Indexer GetIndexer(IndexerResource indexerResource) { var indexer = _indexerService.Schema() .SingleOrDefault(i => i.Implementation.Equals(indexerResource.Implementation, StringComparison.InvariantCultureIgnoreCase)); if (indexer == null) { throw new BadRequestException("Invalid Indexer Implementation"); } indexer.InjectFrom(indexerResource); indexer.Settings = SchemaDeserializer.DeserializeSchema(indexer.Settings, indexerResource.Fields); ValidateIndexer(indexer); return(indexer); }