BOD-14 Baseline server-side send,receive,status APIs created

This commit is contained in:
Patrick Fic
2020-03-25 16:49:42 -07:00
parent 84a5820d8d
commit 546d2d82b7
25 changed files with 547 additions and 12 deletions

View File

@@ -21,3 +21,13 @@ mutation INSERT_MESSAGE($msg: [messages_insert_input!]!) {
}
}
`;
exports.UPDATE_MESSAGE_STATUS = `
mutation UPDATE_MESSAGE($msid: String!, $fields: messages_set_input!) {
update_messages(where: { msid: { _eq: $msid } }, _set: $fields) {
returning {
id
}
}
}
`;

View File

@@ -1,16 +1,24 @@
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({
@@ -25,16 +33,20 @@ exports.send = (req, res) => {
conversationid,
isoutbound: true
};
client
gqlClient
.request(queries.INSERT_MESSAGE, { msg: newMessage })
.then(r2 => {
res.sendStatus(200);
})
.catch(e2 => {
res.json({ success: false, message: e2 });
console.log("e2", e2);
//res.json({ success: false, message: e2 });
});
})
.catch(error => res.json({ success: false, message: error }));
.catch(e1 => {
//res.json({ success: false, message: error });
console.log("e1", e1);
});
} else {
res.json({ success: false, message: "Missing required parameter(s)." });
}

View File

@@ -4,8 +4,18 @@ const queries = require("../graphql-client/queries");
const phone = require("phone");
exports.status = (req, res) => {
//Perform request validation
console.log("Inbound Status Update: ", JSON.stringify(req.body));
const { SmsSid, SmsStatus } = req.body;
client
.request(queries.UPDATE_MESSAGE_STATUS, {
msid: SmsSid,
fields: { status: SmsStatus }
})
.then(response => {
console.log("Message Updated");
})
.catch(error => {
console.log("Error updating message status", error);
});
res.sendStatus(200);
};