| 123456789101112131415161718192021222324252627282930313233343536373839 |
- 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)
|