Files
bodyshop/server/sms/send.js

54 lines
1.4 KiB
JavaScript

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)." });
}
};