Просмотр исходного кода

flush ops when document is flushed

Brian 11 лет назад
Родитель
Сommit
60db8bf5de

+ 4 - 1
services/document-updater/app/coffee/DocumentManager.coffee

@@ -4,6 +4,7 @@ DocOpsManager = require "./DocOpsManager"
 DiffCodec = require "./DiffCodec"
 logger = require "logger-sharelatex"
 Metrics = require "./Metrics"
+TrackChangesManager = require "./TrackChangesManager"
 
 module.exports = DocumentManager =
 	getDoc: (project_id, doc_id, _callback = (error, lines, version) ->) ->
@@ -90,7 +91,9 @@ module.exports = DocumentManager =
 				logger.log project_id: project_id, doc_id: doc_id, version: version, "flushing doc"
 				PersistenceManager.setDoc project_id, doc_id, lines, version, (error) ->
 					return callback(error) if error?
-					callback null
+					TrackChangesManager.flushDocChanges project_id, doc_id,  (error) ->
+						return callback(error) if error?
+						callback null
 
 	flushAndDeleteDoc: (project_id, doc_id, _callback = (error) ->) ->
 		timer = new Metrics.Timer("docManager.flushAndDeleteDoc")

+ 1 - 0
services/document-updater/test/unit/coffee/DocumentManager/flushAndDeleteDocTests.coffee

@@ -8,6 +8,7 @@ describe "DocumentUpdater - flushAndDeleteDoc", ->
 	beforeEach ->
 		@DocumentManager = SandboxedModule.require modulePath, requires:
 			"./RedisManager": @RedisManager = {}
+			"./TrackChangesManager": @TrackChangesManager = {}
 			"./PersistenceManager": @PersistenceManager = {}
 			"logger-sharelatex": @logger = {log: sinon.stub()}
 			"./DocOpsManager" :{}

+ 2 - 0
services/document-updater/test/unit/coffee/DocumentManager/flushDocTests.coffee

@@ -8,6 +8,7 @@ describe "DocumentUpdater - flushDocIfLoaded", ->
 	beforeEach ->
 		@DocumentManager = SandboxedModule.require modulePath, requires:
 			"./RedisManager": @RedisManager = {}
+			"./TrackChangesManager": @TrackChangesManager = {}
 			"./PersistenceManager": @PersistenceManager = {}
 			"./DocOpsManager": @DocOpsManager = {}
 			"logger-sharelatex": @logger = {log: sinon.stub()}
@@ -23,6 +24,7 @@ describe "DocumentUpdater - flushDocIfLoaded", ->
 	describe "when the doc is in Redis", ->
 		beforeEach ->
 			@RedisManager.getDoc = sinon.stub().callsArgWith(1, null, @lines, @version)
+			@TrackChangesManager.flushDocChanges = sinon.stub().callsArg(2)
 			@PersistenceManager.setDoc = sinon.stub().callsArgWith(4)
 			@DocumentManager.flushDocIfLoaded @project_id, @doc_id, @callback
 

+ 1 - 0
services/document-updater/test/unit/coffee/DocumentManager/getDocAndRecentOpsTests.coffee

@@ -8,6 +8,7 @@ describe "DocumentUpdater - getDocAndRecentOps", ->
 	beforeEach ->
 		@DocumentManager = SandboxedModule.require modulePath, requires:
 			"./RedisManager": @RedisManager = {}
+			"./TrackChangesManager": @TrackChangesManager = {}
 			"./PersistenceManager": @PersistenceManager = {}
 			"./DocOpsManager": @DocOpsManager = {}
 			"logger-sharelatex": @logger = {log: sinon.stub()}

+ 1 - 0
services/document-updater/test/unit/coffee/DocumentManager/getDocTests.coffee

@@ -8,6 +8,7 @@ describe "DocumentUpdater - getDoc", ->
 	beforeEach ->
 		@DocumentManager = SandboxedModule.require modulePath, requires:
 			"./RedisManager": @RedisManager = {}
+			"./TrackChangesManager": @TrackChangesManager = {}
 			"./PersistenceManager": @PersistenceManager = {}
 			"./DocOpsManager": @DocOpsManager = {}
 			"logger-sharelatex": @logger = {log: sinon.stub()}

+ 1 - 0
services/document-updater/test/unit/coffee/DocumentManager/setDocTests.coffee

@@ -8,6 +8,7 @@ describe "DocumentManager - setDoc", ->
 	beforeEach ->
 		@DocumentManager = SandboxedModule.require modulePath, requires:
 			"./RedisManager": @RedisManager = {}
+			"./TrackChangesManager": @TrackChangesManager = {}
 			"./PersistenceManager": @PersistenceManager = {}
 			"./DiffCodec": @DiffCodec = {}
 			"./DocOpsManager":{}