forked from codecombat/codecombat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
delighted.coffee
26 lines (24 loc) · 1.08 KB
/
delighted.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
config = require '../server_config'
request = require 'request'
log = require 'winston'
DELIGHTED_EMAIL_DELAY = 1 * 86400 # in seconds
module.exports.addDelightedUser = addDelightedUser = (user) ->
return unless key = config.mail.delightedAPIKey
#return unless user.isEmailSubscriptionEnabled 'generalNews' # Doesn't work? Just returns undefined...
return if user.get('emails')?.generalNews?.enabled is false # Workaround.
name = user.get('name')
if first = user.get('firstName') and last = user.get('lastName')
name = first + ' ' + last
form =
email: user.get('email')
name: name
delay: DELIGHTED_EMAIL_DELAY
properties:
id: user.id
locale: user.get('preferredLanguage')
testGroupNumber: user.get('testGroupNumber')
gender: user.get('gender')
lastLevel: user.get('lastLevel')
request.post {uri: "https://#{key}:@api.delightedapp.com/v1/people.json", form: form}, (err, res, body) ->
return log.error 'Error sending Delighted request:', err or body if err or /error/i.test body
#log.info "Got DelightedApp response: #{body}"