mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 08:50:58 -05:00
Added Delighted feedback emails.
This commit is contained in:
parent
6b2c079ff5
commit
9a1dd412c9
3 changed files with 32 additions and 3 deletions
27
server/delighted.coffee
Normal file
27
server/delighted.coffee
Normal file
|
@ -0,0 +1,27 @@
|
|||
config = require '../server_config'
|
||||
request = require 'request'
|
||||
log = require 'winston'
|
||||
|
||||
DELIGHTED_EMAIL_DELAY = 1 * 86400 # in seconds
|
||||
DELIGHTED_EMAIL_DELAY = 10
|
||||
|
||||
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/.test body
|
||||
#log.info "Got DelightedApp response: #{body}"
|
|
@ -7,6 +7,7 @@ log = require 'winston'
|
|||
plugins = require '../plugins/plugins'
|
||||
|
||||
sendwithus = require '../sendwithus'
|
||||
delighted = require '../delighted'
|
||||
|
||||
UserSchema = new mongoose.Schema({
|
||||
dateCreated:
|
||||
|
@ -134,7 +135,7 @@ UserSchema.methods.register = (done) ->
|
|||
address: @get 'email'
|
||||
sendwithus.api.send data, (err, result) ->
|
||||
log.error "sendwithus post-save error: #{err}, result: #{result}" if err
|
||||
|
||||
delighted.addDelightedUser @
|
||||
|
||||
UserSchema.pre('save', (next) ->
|
||||
@set('emailLower', @get('email')?.toLowerCase())
|
||||
|
|
|
@ -12,8 +12,8 @@ config.mongo =
|
|||
host: process.env.COCO_MONGO_HOST or 'localhost'
|
||||
db: process.env.COCO_MONGO_DATABASE_NAME or 'coco'
|
||||
mongoose_replica_string: process.env.COCO_MONGO_MONGOOSE_REPLICA_STRING or ''
|
||||
|
||||
config.redis =
|
||||
|
||||
config.redis =
|
||||
port: process.env.COCO_REDIS_PORT or 6379
|
||||
host: process.env.COCO_REDIS_HOST or 'localhost'
|
||||
|
||||
|
@ -33,6 +33,7 @@ config.mail =
|
|||
mailchimpWebhook: process.env.COCO_MAILCHIMP_WEBHOOK or '/mail/webhook'
|
||||
sendwithusAPIKey: process.env.COCO_SENDWITHUS_API_KEY or ''
|
||||
stackleadAPIKey: process.env.COCO_STACKLEAD_API_KEY or ''
|
||||
delightedAPIKey: process.env.COCO_DELIGHTED_API_KEY or ''
|
||||
cronHandlerPublicIP: process.env.COCO_CRON_PUBLIC_IP or ''
|
||||
cronHandlerPrivateIP: process.env.COCO_CRON_PRIVATE_IP or ''
|
||||
|
||||
|
|
Loading…
Reference in a new issue