in src/utils/elasticsearch.js [108:137]
export function queryCall(keyword) {
return Promise.all([queryTranscriptKeyword(keyword), queryMetadataForKeyword(keyword)]).then(results => {
const transcriptionPromises = results[0], metadataPromises = results[1];
return Promise.all([keyword,
Promise.all(transcriptionPromises.map(d => {
return queryMetadataForKeyword(d.TransactionId).then(metadata => {
if (metadata.length === 1) {
return metadata[0];
}
});
})
),
metadataPromises
]);
}).then(promise => {
const metadata = [...promise[1], ...promise[2]];
const result = metadata.map(d => {
const fromNumber = (d.fromNumber !== undefined && d.fromNumber !== null) ? d.fromNumber : "Unknown";
return {
TransactionId: d.transactionId,
Direction: d.direction,
StartTimeEpochSeconds: Math.ceil(new Date(d.startTime) / 1000),
EndTimeEpochSeconds: Math.ceil(new Date(d.endTime) / 1000),
SourcePhoneNumber: fromNumber,
};
});
return new Promise(resolve => resolve(result));
});
}