overleaf/services/track-changes/test/acceptance/js/helpers/MockDocUpdaterApi.js

90 lines
2.2 KiB
JavaScript
Raw Normal View History

/* eslint-disable
camelcase,
handle-callback-err,
no-undef,
*/
// 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 MockDocUpdaterApi
const express = require('express')
2020-03-23 06:10:24 -04:00
const bodyParser = require('body-parser')
const app = express()
2020-03-23 06:10:24 -04:00
app.use(bodyParser.json())
module.exports = MockDocUpdaterApi = {
docs: {},
getDoc(project_id, doc_id, callback) {
if (callback == null) {
2020-06-04 04:24:21 -04:00
callback = function (error) {}
}
return callback(null, this.docs[doc_id])
},
setDoc(project_id, doc_id, lines, user_id, undoing, callback) {
if (callback == null) {
2020-06-04 04:24:21 -04:00
callback = function (error) {}
}
if (!this.docs[doc_id]) {
this.docs[doc_id] = {}
}
this.docs[doc_id].lines = lines
return callback()
},
run() {
app.get('/project/:project_id/doc/:doc_id', (req, res, next) => {
return this.getDoc(
req.params.project_id,
req.params.doc_id,
(error, doc) => {
if (error != null) {
res.sendStatus(500)
}
if (doc == null) {
return res.sendStatus(404)
} else {
return res.send(JSON.stringify(doc))
}
}
)
})
2020-06-04 04:24:21 -04:00
app.post('/project/:project_id/doc/:doc_id', (req, res, next) => {
return this.setDoc(
req.params.project_id,
req.params.doc_id,
req.body.lines,
req.body.user_id,
req.body.undoing,
(errr, doc) => {
if (typeof error !== 'undefined' && error !== null) {
return res.sendStatus(500)
} else {
return res.sendStatus(204)
}
2020-06-04 04:24:21 -04:00
}
)
})
return app
2021-07-13 07:04:43 -04:00
.listen(3003, error => {
if (error != null) {
throw error
}
})
2021-07-13 07:04:43 -04:00
.on('error', error => {
console.error('error starting MockDocUpdaterApi:', error.message)
return process.exit(1)
})
2021-07-13 07:04:43 -04:00
},
}
MockDocUpdaterApi.run()