2015-10-03 07:06:56 +08:00
|
|
|
|
|
|
|
{DraftStoreExtension} = require 'nylas-exports'
|
|
|
|
request = require 'request'
|
|
|
|
|
|
|
|
class AvailabilityDraftExtension extends DraftStoreExtension
|
|
|
|
|
|
|
|
# When subclassing the DraftStoreExtension, you can add your own custom logic
|
|
|
|
# to execute before a draft is sent in the @finalizeSessionBeforeSending
|
|
|
|
# method. Here, we're registering the events before we send the draft.
|
|
|
|
@finalizeSessionBeforeSending: (session) ->
|
|
|
|
body = session.draft().body
|
|
|
|
participants = session.draft().participants()
|
|
|
|
sender = session.draft().from
|
|
|
|
matches = (/data-send-availability="(.*)?" style/).exec body
|
|
|
|
if matches?
|
2015-11-20 10:16:38 +08:00
|
|
|
json = atob(matches[1])
|
2015-10-03 07:06:56 +08:00
|
|
|
data = JSON.parse(json)
|
|
|
|
data.attendees = []
|
|
|
|
data.attendees = participants.map (p) ->
|
2015-11-20 10:16:38 +08:00
|
|
|
name: p.name, email: p.email, isSender: p.isMe()
|
2015-10-03 07:06:56 +08:00
|
|
|
console.log "Sending request!\n",JSON.stringify data
|
2015-11-20 10:16:38 +08:00
|
|
|
serverUrl = "https://sendavail.herokuapp.com/register-events"
|
2015-10-03 07:06:56 +08:00
|
|
|
request.post {url: serverUrl, body: JSON.stringify(data)}, (error, resp, data) =>
|
|
|
|
console.log(error,resp,data)
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = AvailabilityDraftExtension
|