|
@@ -1,10 +1,11 @@
|
|
|
const { promisify } = require('util')
|
|
const { promisify } = require('util')
|
|
|
-const { promisifyMultiResult } = require('@overleaf/promise-utils')
|
|
|
|
|
|
|
+const { promisifyMultiResult, callbackify } = require('@overleaf/promise-utils')
|
|
|
const request = require('request').defaults({ jar: false })
|
|
const request = require('request').defaults({ jar: false })
|
|
|
const OError = require('@overleaf/o-error')
|
|
const OError = require('@overleaf/o-error')
|
|
|
const logger = require('@overleaf/logger')
|
|
const logger = require('@overleaf/logger')
|
|
|
const settings = require('@overleaf/settings')
|
|
const settings = require('@overleaf/settings')
|
|
|
const Errors = require('../Errors/Errors')
|
|
const Errors = require('../Errors/Errors')
|
|
|
|
|
+const { fetchJson } = require('@overleaf/fetch-utils')
|
|
|
|
|
|
|
|
const TIMEOUT = 30 * 1000 // request timeout
|
|
const TIMEOUT = 30 * 1000 // request timeout
|
|
|
|
|
|
|
@@ -86,6 +87,14 @@ function getAllDeletedDocs(projectId, callback) {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * @param {string} projectId
|
|
|
|
|
+ */
|
|
|
|
|
+async function getTrackedChangesUserIds(projectId) {
|
|
|
|
|
+ const url = `${settings.apis.docstore.url}/project/${projectId}/tracked-changes-user-ids`
|
|
|
|
|
+ return fetchJson(url, { signal: AbortSignal.timeout(TIMEOUT) })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @param {string} projectId
|
|
* @param {string} projectId
|
|
|
* @param {Callback} callback
|
|
* @param {Callback} callback
|
|
@@ -292,6 +301,7 @@ module.exports = {
|
|
|
getAllDeletedDocs,
|
|
getAllDeletedDocs,
|
|
|
getAllRanges,
|
|
getAllRanges,
|
|
|
getDoc,
|
|
getDoc,
|
|
|
|
|
+ getTrackedChangesUserIds: callbackify(getTrackedChangesUserIds),
|
|
|
isDocDeleted,
|
|
isDocDeleted,
|
|
|
updateDoc,
|
|
updateDoc,
|
|
|
projectHasRanges,
|
|
projectHasRanges,
|
|
@@ -304,6 +314,7 @@ module.exports = {
|
|
|
getAllDeletedDocs: promisify(getAllDeletedDocs),
|
|
getAllDeletedDocs: promisify(getAllDeletedDocs),
|
|
|
getAllRanges: promisify(getAllRanges),
|
|
getAllRanges: promisify(getAllRanges),
|
|
|
getDoc: promisifyMultiResult(getDoc, ['lines', 'rev', 'version', 'ranges']),
|
|
getDoc: promisifyMultiResult(getDoc, ['lines', 'rev', 'version', 'ranges']),
|
|
|
|
|
+ getTrackedChangesUserIds,
|
|
|
isDocDeleted: promisify(isDocDeleted),
|
|
isDocDeleted: promisify(isDocDeleted),
|
|
|
updateDoc: promisifyMultiResult(updateDoc, ['modified', 'rev']),
|
|
updateDoc: promisifyMultiResult(updateDoc, ['modified', 'rev']),
|
|
|
projectHasRanges: promisify(projectHasRanges),
|
|
projectHasRanges: promisify(projectHasRanges),
|