in src/search/Search.tsx [96:138]
async componentDidMount() {
const { indexId, kendra } = this.props;
if (kendra) {
const listDataSourcePromise = this.listDataSources(kendra, indexId);
try {
// Create attribute type lookup from index
const index = await kendra
.describeIndex({
Id: indexId,
})
.promise();
this.setState({
attributeTypeLookup: getAttributeTypeLookup(index),
index: index,
});
// Get available sorting attributes from index meta data
if (index.DocumentMetadataConfigurations) {
this.setState({
availableSortingAttributes: this.state.availableSortingAttributes.fromIndexMetadata(
index.DocumentMetadataConfigurations
),
});
}
// Create data source name lookup
const dataSources = await listDataSourcePromise;
this.setState({
dataSourceNameLookup: getDataSourceNameLookup(dataSources),
});
} catch (e) {
console.log("Error in datasource name lookup");
}
} else {
// The SDK is not configured, use mock data
this.setState({
...getSampleIndexDetails(),
});
}
}