ContactManager.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /* eslint-disable
  2. camelcase,
  3. n/handle-callback-err,
  4. max-len,
  5. no-unused-vars,
  6. */
  7. // TODO: This file was created by bulk-decaffeinate.
  8. // Fix any style issues and re-enable lint.
  9. /*
  10. * decaffeinate suggestions:
  11. * DS102: Remove unnecessary code created because of implicit returns
  12. * DS207: Consider shorter variations of null checks
  13. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  14. */
  15. let ContactManager
  16. const OError = require('@overleaf/o-error')
  17. const request = require('request')
  18. const settings = require('@overleaf/settings')
  19. module.exports = ContactManager = {
  20. getContactIds(user_id, options, callback) {
  21. if (options == null) {
  22. options = { limits: 50 }
  23. }
  24. if (callback == null) {
  25. callback = function () {}
  26. }
  27. const url = `${settings.apis.contacts.url}/user/${user_id}/contacts`
  28. return request.get(
  29. {
  30. url,
  31. qs: options,
  32. json: true,
  33. jar: false,
  34. },
  35. function (error, res, data) {
  36. if (error != null) {
  37. return callback(error)
  38. }
  39. if (res.statusCode >= 200 && res.statusCode < 300) {
  40. return callback(
  41. null,
  42. (data != null ? data.contact_ids : undefined) || []
  43. )
  44. } else {
  45. error = new OError(
  46. `contacts api responded with non-success code: ${res.statusCode}`,
  47. { user_id }
  48. )
  49. return callback(error)
  50. }
  51. }
  52. )
  53. },
  54. addContact(user_id, contact_id, callback) {
  55. if (callback == null) {
  56. callback = function () {}
  57. }
  58. const url = `${settings.apis.contacts.url}/user/${user_id}/contacts`
  59. return request.post(
  60. {
  61. url,
  62. json: {
  63. contact_id,
  64. },
  65. jar: false,
  66. },
  67. function (error, res, data) {
  68. if (error != null) {
  69. return callback(error)
  70. }
  71. if (res.statusCode >= 200 && res.statusCode < 300) {
  72. return callback(
  73. null,
  74. (data != null ? data.contact_ids : undefined) || []
  75. )
  76. } else {
  77. error = new OError(
  78. `contacts api responded with non-success code: ${res.statusCode}`,
  79. {
  80. user_id,
  81. contact_id,
  82. }
  83. )
  84. return callback(error)
  85. }
  86. }
  87. )
  88. },
  89. }