AnalyticsManager.coffee 1.0 KB

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