overleaf/services/document-updater/app/coffee/HistoryRedisManager.coffee

17 lines
876 B
CoffeeScript
Raw Normal View History

Settings = require('settings-sharelatex')
rclient = require("redis-sharelatex").createClient(Settings.redis.history)
Keys = Settings.redis.history.key_schema
async = require "async"
logger = require('logger-sharelatex')
module.exports = HistoryRedisManager =
2017-05-09 04:32:56 -04:00
recordDocHasHistoryOps: (project_id, doc_id, ops = [], callback = (error, length) ->) ->
if ops.length == 0
return callback(new Error("cannot push no ops")) # This should never be called with no ops, but protect against a redis error if we sent an empty array to rpush
2017-05-08 10:56:02 -04:00
logger.log project_id: project_id, doc_id: doc_id, "marking doc in project for history ops"
rclient.sadd Keys.docsWithHistoryOps({project_id}), doc_id, (error) ->
return callback(error) if error?
2017-05-08 10:56:02 -04:00
rclient.llen Keys.uncompressedHistoryOps({doc_id}), (error, length) ->
return callback(error) if error?
callback(null, length)