AnalyticsManager.coffee 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. settings = require "settings-sharelatex"
  2. logger = require "logger-sharelatex"
  3. _ = require "underscore"
  4. request = require "request"
  5. makeRequest = (opts, callback)->
  6. if settings.apis?.analytics?.url?
  7. urlPath = opts.url
  8. opts.url = "#{settings.apis.analytics.url}#{urlPath}"
  9. request opts, callback
  10. else
  11. callback()
  12. module.exports =
  13. recordEvent: (user_id, event, segmentation = {}, callback = (error) ->) ->
  14. if user_id+"" == settings.smokeTest?.userId+""
  15. return callback()
  16. opts =
  17. body:
  18. event:event
  19. segmentation:segmentation
  20. json:true
  21. method:"POST"
  22. timeout:1000
  23. url: "/user/#{user_id}/event"
  24. makeRequest opts, callback
  25. getLastOccurance: (user_id, event, callback = (error) ->) ->
  26. opts =
  27. body:
  28. event:event
  29. json:true
  30. method:"POST"
  31. timeout:1000
  32. url: "/user/#{user_id}/event/last_occurnace"
  33. makeRequest opts, (err, response, body)->
  34. if err?
  35. console.log response, opts
  36. logger.err {user_id, err}, "error getting last occurance of event"
  37. return callback err
  38. else
  39. return callback null, body