|
@@ -3,9 +3,13 @@ settings = require "settings-sharelatex"
|
|
|
logger = require "logger-sharelatex"
|
|
logger = require "logger-sharelatex"
|
|
|
|
|
|
|
|
module.exports = WebApiManager =
|
|
module.exports = WebApiManager =
|
|
|
- joinProject: (project_id, user_id, callback = (error, project, privilegeLevel) ->) ->
|
|
|
|
|
|
|
+ joinProject: (project_id, user, callback = (error, project, privilegeLevel) ->) ->
|
|
|
|
|
+ user_id = user._id
|
|
|
logger.log {project_id, user_id}, "sending join project request to web"
|
|
logger.log {project_id, user_id}, "sending join project request to web"
|
|
|
url = "#{settings.apis.web.url}/project/#{project_id}/join"
|
|
url = "#{settings.apis.web.url}/project/#{project_id}/join"
|
|
|
|
|
+ headers = {}
|
|
|
|
|
+ if user.anonToken?
|
|
|
|
|
+ headers['x-sl-anon-token'] = user.anonToken
|
|
|
request.post {
|
|
request.post {
|
|
|
url: url
|
|
url: url
|
|
|
qs: {user_id}
|
|
qs: {user_id}
|
|
@@ -15,6 +19,7 @@ module.exports = WebApiManager =
|
|
|
sendImmediately: true
|
|
sendImmediately: true
|
|
|
json: true
|
|
json: true
|
|
|
jar: false
|
|
jar: false
|
|
|
|
|
+ headers: headers
|
|
|
}, (error, response, data) ->
|
|
}, (error, response, data) ->
|
|
|
return callback(error) if error?
|
|
return callback(error) if error?
|
|
|
if 200 <= response.statusCode < 300
|
|
if 200 <= response.statusCode < 300
|
|
@@ -22,4 +27,4 @@ module.exports = WebApiManager =
|
|
|
else
|
|
else
|
|
|
err = new Error("non-success status code from web: #{response.statusCode}")
|
|
err = new Error("non-success status code from web: #{response.statusCode}")
|
|
|
logger.error {err, project_id, user_id}, "error accessing web api"
|
|
logger.error {err, project_id, user_id}, "error accessing web api"
|
|
|
- callback err
|
|
|
|
|
|
|
+ callback err
|