Skip to content

Commit

Permalink
put in slack messaage to include subscribing to mailing list
Browse files Browse the repository at this point in the history
  • Loading branch information
dwilt committed Jun 15, 2018
1 parent 1aeadc7 commit 89ad904
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 17 deletions.
37 changes: 23 additions & 14 deletions firebaseFunctions/firestore.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,18 @@ import slack from "./services/slack.service";

admin.initializeApp(functions.config().firebase);

async function subscribeToMailchimp({ name, email, rating }) {
async function subscribeToMailchimp({
name,
email,
rating,
subscribedToMailingList
}) {
const lists = [mailchimp.mailingLists.javascriptQuizRespondants];

if (subscribedToMailingList) {
lists.push(mailchimp.mailingLists.danWiltCoachingUpdates);
}

if (rating === ratings.EXPERT) {
lists.push(mailchimp.mailingLists.mobileDevReady);
} else if (rating === ratings.PROFICIENT) {
Expand All @@ -24,23 +33,23 @@ async function subscribeToMailchimp({ name, email, rating }) {
await mailchimp.addUserToLists(name, email, lists);
}

async function sendSlackMessage({ name, email }) {
await slack.sendMessage(`New quiz submission from ${name}: ${email}`);
async function sendSlackMessage({ name, email, subscribedToMailingList }) {
const subscribedSentence = subscribedToMailingList
? "They subscribed for periodic mailing updates! 🙌"
: `They didn't subscribe for periodic mailing updates. 😞`;

await slack.sendMessage(
`${name} (${email}) just took the quiz! ${subscribedSentence}`
);
}

export async function submitQuiz(result) {
const { subscribedToMailingList, ...rest } = result;

const actions = [
await Promise.all([
admin
.firestore()
.collection(`results`)
.add(rest)
];

if (subscribedToMailingList) {
actions.push(subscribeToMailchimp(rest), sendSlackMessage(rest));
}

await Promise.all(actions);
.add(result),
subscribeToMailchimp(result),
sendSlackMessage(result)
]);
}
11 changes: 8 additions & 3 deletions firebaseFunctions/services/slack.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@ import axios from "axios";
import { SLACK_URL } from "../keys";

async function sendMessage(text) {
return axios.post(SLACK_URL, {
text
});
try {
await axios.post(SLACK_URL, {
text
});
} catch (e) {
console.log("failed to send slack message");
console.log("error: ", e);
}
}

export default {
Expand Down

0 comments on commit 89ad904

Please sign in to comment.