mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
60 lines
1.3 KiB
CoffeeScript
60 lines
1.3 KiB
CoffeeScript
express = require("express")
|
|
app = express()
|
|
bodyParser = require('body-parser')
|
|
sinon = require 'sinon'
|
|
|
|
app.use(bodyParser.json())
|
|
|
|
module.exports = MockV1Api =
|
|
users: { }
|
|
|
|
setUser: (id, user) ->
|
|
@users[id] = user
|
|
|
|
exportId: null
|
|
|
|
exportParams: null
|
|
|
|
setExportId: (id) ->
|
|
@exportId = id
|
|
|
|
getLastExportParams: () ->
|
|
@exportParams
|
|
|
|
clearExportParams: () ->
|
|
@exportParams = null
|
|
|
|
syncUserFeatures: sinon.stub()
|
|
|
|
run: () ->
|
|
app.get "/api/v1/sharelatex/users/:v1_user_id/plan_code", (req, res, next) =>
|
|
user = @users[req.params.v1_user_id]
|
|
if user
|
|
res.json user
|
|
else
|
|
res.sendStatus 404
|
|
|
|
app.post "/api/v1/sharelatex/users/:v1_user_id/sync", (req, res, next) =>
|
|
@syncUserFeatures(req.params.v1_user_id)
|
|
res.sendStatus 200
|
|
|
|
app.post "/api/v1/sharelatex/exports", (req, res, next) =>
|
|
@exportParams = Object.assign({}, req.body)
|
|
res.json exportId: @exportId
|
|
|
|
app.get "/api/v2/users/:userId/affiliations", (req, res, next) =>
|
|
res.json []
|
|
|
|
app.post "/api/v2/users/:userId/affiliations", (req, res, next) =>
|
|
res.sendStatus 201
|
|
|
|
app.delete "/api/v2/users/:userId/affiliations/:email", (req, res, next) =>
|
|
res.sendStatus 204
|
|
|
|
app.listen 5000, (error) ->
|
|
throw error if error?
|
|
.on "error", (error) ->
|
|
console.error "error starting MockV1Api:", error.message
|
|
process.exit(1)
|
|
|
|
MockV1Api.run()
|