BOD-14 Baseline server-side send,receive,status APIs created
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -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)." });
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user