Rutgers-Esports-Newsletter-App/app.js
2021-06-20 08:14:46 -04:00

55 lines
No EOL
1.5 KiB
JavaScript

const express = require('express')
const mailchimp = require("@mailchimp/mailchimp_marketing")
const app = express()
app.use(express.static(__dirname))
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.get("/", (req, res) => {
res.sendFile(__dirname + "/signup.html")
})
mailchimp.setConfig({
apiKey: process.env.MC_API_KEY,
server: process.env.MC_SERVER
})
app.post("/", (req, res) => {
const firstName = req.body.fName
const lastName = req.body.lName
const email = req.body.email
async function addContact(contactData) {
try {
const response = await mailchimp.lists.addListMember(process.env.MC_LIST_ID, contactData)
console.log(`Successfully added contact as an audience member. The contact's id is ${response.id}`)
res.sendFile(__dirname + "/success.html")
}
catch(err) {
// console.log(err)
res.sendFile(__dirname + "/failure.html")
}
}
const contactObject =
{
email_address: email,
status: "subscribed",
merge_fields: {
EMAIL: email,
FNAME: firstName,
LNAME: lastName
}
}
const payload = JSON.stringify(contactObject)
addContact(payload)
// console.log(firstName + lastName + email)
// console.log(payload)
})
app.listen(process.env.PORT || '3000', (req, res) => {
console.log("Server is running.")
})