overleaf/services/docstore/test/acceptance/js/helpers/DocstoreClient.js

92 lines
3 KiB
JavaScript
Raw Normal View History

/* eslint-disable
camelcase,
handle-callback-err,
no-unused-vars,
*/
// 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 DocstoreClient;
const request = require("request").defaults({jar: false});
const {db, ObjectId} = require("../../../../app/js/mongojs");
const settings = require("settings-sharelatex");
const DocArchiveManager = require("../../../../app/js/DocArchiveManager.js");
module.exports = (DocstoreClient = {
2014-04-30 08:06:12 -04:00
createDoc(project_id, doc_id, lines, version, ranges, callback) {
if (callback == null) { callback = function(error) {}; }
return DocstoreClient.updateDoc(project_id, doc_id, lines, version, ranges, callback);
},
getDoc(project_id, doc_id, qs, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.get({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/doc/${doc_id}`,
json: true,
qs
}, callback);
},
getAllDocs(project_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.get({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/doc`,
2014-04-30 08:06:12 -04:00
json: true
}, callback);
},
2014-04-30 08:06:12 -04:00
getAllRanges(project_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.get({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/ranges`,
json: true
}, callback);
},
updateDoc(project_id, doc_id, lines, version, ranges, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.post({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/doc/${doc_id}`,
json: {
lines,
version,
ranges
}
}, callback);
},
deleteDoc(project_id, doc_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.del({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/doc/${doc_id}`
}, callback);
},
archiveAllDoc(project_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.post({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/archive`
}, callback);
},
destroyAllDoc(project_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
return request.post({
url: `http://localhost:${settings.internal.docstore.port}/project/${project_id}/destroy`
}, callback);
},
getS3Doc(project_id, doc_id, callback) {
if (callback == null) { callback = function(error, res, body) {}; }
const options = DocArchiveManager.buildS3Options(project_id+"/"+doc_id);
options.json = true;
return request.get(options, callback);
}
});