AnalyticsManager.coffee 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. idendifyUser: (user_id, old_user_id, callback)->
  14. opts =
  15. body:
  16. old_user_id:old_user_id
  17. json:true
  18. method:"POST"
  19. timeout:1000
  20. url: "/user/#{user_id}/idendify"
  21. recordEvent: (user_id, event, segmentation = {}, callback = (error) ->) ->
  22. if user_id+"" == settings.smokeTest?.userId+""
  23. return callback()
  24. opts =
  25. body:
  26. event:event
  27. segmentation:segmentation
  28. json:true
  29. method:"POST"
  30. timeout:1000
  31. url: "/user/#{user_id}/event"
  32. makeRequest opts, callback
  33. getLastOccurance: (user_id, event, callback = (error) ->) ->
  34. opts =
  35. body:
  36. event:event
  37. json:true
  38. method:"POST"
  39. timeout:1000
  40. url: "/user/#{user_id}/event/last_occurnace"
  41. makeRequest opts, (err, response, body)->
  42. if err?
  43. console.log response, opts
  44. logger.err {user_id, err}, "error getting last occurance of event"
  45. return callback err
  46. else
  47. return callback null, body