mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-12 07:34:20 -05:00
39 lines
1.3 KiB
CoffeeScript
39 lines
1.3 KiB
CoffeeScript
|
request = require "request"
|
||
|
settings = require "settings-sharelatex"
|
||
|
logger = require "logger-sharelatex"
|
||
|
|
||
|
module.exports = ContactManager =
|
||
|
getContactIds: (user_id, options = { limits: 50 }, callback = (error, contacts) ->) ->
|
||
|
logger.log {user_id}, "getting user contacts"
|
||
|
url = "#{settings.apis.contacts.url}/user/#{user_id}/contacts"
|
||
|
request.get {
|
||
|
url: url
|
||
|
qs: options
|
||
|
json: true
|
||
|
jar: false
|
||
|
}, (error, res, data) ->
|
||
|
return callback(error) if error?
|
||
|
if 200 <= res.statusCode < 300
|
||
|
callback(null, data?.contact_ids or [])
|
||
|
else
|
||
|
error = new Error("contacts api responded with non-success code: #{res.statusCode}")
|
||
|
logger.error {err: error, user_id}, "error getting contacts for user"
|
||
|
callback(error)
|
||
|
|
||
|
addContact: (user_id, contact_id, callback = (error) ->) ->
|
||
|
logger.log {user_id, contact_id}, "add user contact"
|
||
|
url = "#{settings.apis.contacts.url}/user/#{user_id}/contacts"
|
||
|
request.post {
|
||
|
url: url
|
||
|
json: {
|
||
|
contact_id: contact_id
|
||
|
}
|
||
|
jar: false
|
||
|
}, (error, res, data) ->
|
||
|
return callback(error) if error?
|
||
|
if 200 <= res.statusCode < 300
|
||
|
callback(null, data?.contact_ids or [])
|
||
|
else
|
||
|
error = new Error("contacts api responded with non-success code: #{res.statusCode}")
|
||
|
logger.error {err: error, user_id, contact_id}, "error adding contact for user"
|
||
|
callback(error)
|