require("dotenv").config(); const twilio = require("twilio"); const phone = require("phone"); const queries = require("../graphql-client/queries"); const client = twilio( process.env.TWILIO_AUTH_TOKEN, process.env.TWILIO_AUTH_KEY ); const gqlClient = require("../graphql-client/graphql-client").client; exports.send = (req, res) => { console.log("Sending an SMS!"); const { to, messagingServiceSid, body, conversationid } = req.body; console.log( "to, messagingServiceSid, body, conversationid", to, messagingServiceSid, body, conversationid ); if (!!to && !!messagingServiceSid && !!body && !!conversationid) { client.messages .create({ body: body, messagingServiceSid: messagingServiceSid, to: phone(to)[0] }) .then(message => { let newMessage = { msid: message.sid, text: body, conversationid, isoutbound: true }; gqlClient .request(queries.INSERT_MESSAGE, { msg: newMessage }) .then(r2 => { res.sendStatus(200); }) .catch(e2 => { console.log("e2", e2); //res.json({ success: false, message: e2 }); }); }) .catch(e1 => { //res.json({ success: false, message: error }); console.log("e1", e1); }); } else { res.json({ success: false, message: "Missing required parameter(s)." }); } };