mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-14 20:40:17 -05:00
87409d4b6a
collabratec delete project api GitOrigin-RevId: f40a8cb7ce13f559842c8f22380976780a1c0ef7
56 lines
1.6 KiB
CoffeeScript
56 lines
1.6 KiB
CoffeeScript
express = require("express")
|
|
app = express()
|
|
bodyParser = require "body-parser"
|
|
jsonParser = bodyParser.json()
|
|
|
|
module.exports = MockDocUpdaterApi =
|
|
updates: {}
|
|
|
|
clearProjectStructureUpdates: () ->
|
|
@updates = {}
|
|
|
|
getProjectStructureUpdates: (project_id) ->
|
|
@updates[project_id] || { docUpdates: [], fileUpdates: [] }
|
|
|
|
addProjectStructureUpdates: (project_id, userId, docUpdates, fileUpdates, version) ->
|
|
@updates[project_id] ||= { docUpdates: [], fileUpdates: [] }
|
|
|
|
for update in docUpdates
|
|
update.userId = userId
|
|
@updates[project_id].docUpdates.push(update)
|
|
|
|
for update in fileUpdates
|
|
update.userId = userId
|
|
@updates[project_id].fileUpdates.push(update)
|
|
|
|
@updates[project_id].version = version
|
|
|
|
run: () ->
|
|
app.post "/project/:project_id/flush", (req, res, next) =>
|
|
res.sendStatus 204
|
|
|
|
app.post "/project/:project_id", jsonParser, (req, res, next) =>
|
|
project_id = req.params.project_id
|
|
{userId, docUpdates, fileUpdates, version} = req.body
|
|
@addProjectStructureUpdates(project_id, userId, docUpdates, fileUpdates, version)
|
|
res.sendStatus 200
|
|
|
|
app.post "/project/:project_id/doc/:doc_id", (req, res, next) =>
|
|
res.sendStatus 204
|
|
|
|
app.delete "/project/:project_id", (req, res) =>
|
|
res.sendStatus 204
|
|
|
|
app.post "/project/:project_id/doc/:doc_id/flush", (req, res, next) =>
|
|
res.sendStatus 204
|
|
|
|
app.delete "/project/:project_id/doc/:doc_id", (req, res, next) =>
|
|
res.sendStatus 204
|
|
|
|
app.listen 3003, (error) ->
|
|
throw error if error?
|
|
.on "error", (error) ->
|
|
console.error "error starting MockDocUpdaterApi:", error.message
|
|
process.exit(1)
|
|
|
|
MockDocUpdaterApi.run()
|