| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- /* eslint-disable
- camelcase,
- handle-callback-err,
- max-len,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- let ChatApiHandler
- const OError = require('@overleaf/o-error')
- const request = require('request')
- const settings = require('settings-sharelatex')
- module.exports = ChatApiHandler = {
- _apiRequest(opts, callback) {
- if (callback == null) {
- callback = function(error, data) {}
- }
- return request(opts, function(error, response, data) {
- if (error != null) {
- return callback(error)
- }
- if (response.statusCode >= 200 && response.statusCode < 300) {
- return callback(null, data)
- } else {
- error = new OError(
- `chat api returned non-success code: ${response.statusCode}`,
- opts
- )
- error.statusCode = response.statusCode
- return callback(error)
- }
- })
- },
- sendGlobalMessage(project_id, user_id, content, callback) {
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/messages`,
- method: 'POST',
- json: { user_id, content }
- },
- callback
- )
- },
- getGlobalMessages(project_id, limit, before, callback) {
- const qs = {}
- if (limit != null) {
- qs.limit = limit
- }
- if (before != null) {
- qs.before = before
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/messages`,
- method: 'GET',
- qs,
- json: true
- },
- callback
- )
- },
- sendComment(project_id, thread_id, user_id, content, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}/messages`,
- method: 'POST',
- json: { user_id, content }
- },
- callback
- )
- },
- getThreads(project_id, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${settings.apis.chat.internal_url}/project/${project_id}/threads`,
- method: 'GET',
- json: true
- },
- callback
- )
- },
- resolveThread(project_id, thread_id, user_id, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}/resolve`,
- method: 'POST',
- json: { user_id }
- },
- callback
- )
- },
- reopenThread(project_id, thread_id, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}/reopen`,
- method: 'POST'
- },
- callback
- )
- },
- deleteThread(project_id, thread_id, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}`,
- method: 'DELETE'
- },
- callback
- )
- },
- editMessage(project_id, thread_id, message_id, content, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}/messages/${message_id}/edit`,
- method: 'POST',
- json: {
- content
- }
- },
- callback
- )
- },
- deleteMessage(project_id, thread_id, message_id, callback) {
- if (callback == null) {
- callback = function(error) {}
- }
- return ChatApiHandler._apiRequest(
- {
- url: `${
- settings.apis.chat.internal_url
- }/project/${project_id}/thread/${thread_id}/messages/${message_id}`,
- method: 'DELETE'
- },
- callback
- )
- }
- }
|