@dabblelab/autopilot-core
Version:
Core functionality for the Twilio Autopilot CLI and the Twilio Autopilot Plugin for the Twilio CLI.
56 lines (37 loc) • 1.29 kB
JavaScript
const fs = require('fs'),
Samples = require('./lib/samples'),
Tasks = require('./lib/tasks'),
csvParser = require('./lib/csv-parser');
const uploadTaskSamples = async (twilioClient, assistantSid, taskSid, csvFile) => {
if (!fs.existsSync(csvFile)) {
throw new Error(`The file ${csvFile} was not be found.`);
}
return await Promise.resolve()
//assistant info
.then ( async () => {
return Tasks.fetch(twilioClient, assistantSid, taskSid);
})
.then( async (task) => {
try{
const parsedDatas = await csvParser(csvFile);
for(let parsedData of parsedDatas){
const samples = parsedData.filter((item, index)=> parsedData.indexOf(item) === index).filter(Boolean);
for(let sample of samples){
const params = {
"language": "en-US",
"taggedText": sample.trim()
};
await Samples.create(twilioClient, assistantSid, taskSid, params);
}
}
return task;
}catch(error){
console.log(error);
throw error;
}
})
.catch(err => {
throw err;
})
}
module.exports = uploadTaskSamples;