From 45fe6978afa3c0f8fb91d816640827c2ca989328 Mon Sep 17 00:00:00 2001 From: James Allen Date: Wed, 26 Feb 2014 11:34:56 +0000 Subject: [PATCH] Add in /doc//flush endpoint --- services/track-changes/app.coffee | 9 ++++++--- .../app/coffee/HttpController.coffee | 8 +++----- .../HttpController/HttpControllerTests.coffee | 15 ++++++--------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/services/track-changes/app.coffee b/services/track-changes/app.coffee index 412f32315a..e08a8a366a 100644 --- a/services/track-changes/app.coffee +++ b/services/track-changes/app.coffee @@ -6,14 +6,17 @@ HttpController = require "./app/js/HttpController" express = require "express" app = express() -app.post "/doc/:doc_id/history", express.bodyParser(), HttpController.appendUpdates +app.post "/doc/:doc_id/flush", HttpController.flushUpdatesWithLock app.use (error, req, res, next) -> logger.error err: error, "an internal error occured" req.send 500 -app.listen (Settings.port ||= 3014), (error) -> +port = Settings.internal?.history?.port or 3014 +host = Settings.internal?.history?.host or "localhost" +app.listen port, host, (error) -> if error? logger.error err: error, "could not start history server" - logger.log "history api listening on port 3014" + else + logger.log "history api listening on http://#{host}:#{port}" diff --git a/services/track-changes/app/coffee/HttpController.coffee b/services/track-changes/app/coffee/HttpController.coffee index 99e745078f..c82f923550 100644 --- a/services/track-changes/app/coffee/HttpController.coffee +++ b/services/track-changes/app/coffee/HttpController.coffee @@ -2,11 +2,9 @@ HistoryManager = require "./HistoryManager" logger = require "logger-sharelatex" module.exports = HttpController = - appendUpdates: (req, res, next = (error) ->) -> + flushUpdatesWithLock: (req, res, next = (error) ->) -> doc_id = req.params.doc_id - docOps = req.body.docOps - version = req.body.version - logger.log doc_id: doc_id, version: version, "compressing doc history" - HistoryManager.compressAndSaveRawUpdates doc_id, docOps, (error) -> + logger.log doc_id: doc_id, "compressing doc history" + HistoryManager.processUncompressedUpdatesWithLock doc_id, (error) -> return next(error) if error? res.send 204 diff --git a/services/track-changes/test/unit/coffee/HttpController/HttpControllerTests.coffee b/services/track-changes/test/unit/coffee/HttpController/HttpControllerTests.coffee index f1b84020dc..a0d7c23166 100644 --- a/services/track-changes/test/unit/coffee/HttpController/HttpControllerTests.coffee +++ b/services/track-changes/test/unit/coffee/HttpController/HttpControllerTests.coffee @@ -14,22 +14,19 @@ describe "HttpController", -> @version = 42 @next = sinon.stub() - describe "appendUpdates", -> + describe "flushUpdatesWithLock", -> beforeEach -> @req = params: doc_id: @doc_id - body: - docOps: @docOps = ["mock-ops"] - version: @version @res = send: sinon.stub() - @HistoryManager.compressAndSaveRawUpdates = sinon.stub().callsArg(2) - @HttpController.appendUpdates @req, @res, @next + @HistoryManager.processUncompressedUpdatesWithLock = sinon.stub().callsArg(1) + @HttpController.flushUpdatesWithLock @req, @res, @next - it "should append the updates", -> - @HistoryManager.compressAndSaveRawUpdates - .calledWith(@doc_id, @docOps) + it "should process the updates", -> + @HistoryManager.processUncompressedUpdatesWithLock + .calledWith(@doc_id) .should.equal true it "should return a success code", ->