overleaf/services/track-changes/app/coffee/UpdateTrimmer.coffee
2016-04-07 15:16:38 +01:00

23 lines
904 B
CoffeeScript

MongoManager = require "./MongoManager"
WebApiManager = require "./WebApiManager"
logger = require "logger-sharelatex"
module.exports = UpdateTrimmer =
shouldTrimUpdates: (project_id, callback = (error, shouldTrim) ->) ->
MongoManager.getProjectMetaData project_id, (error, metadata) ->
return callback(error) if error?
if metadata?.preserveHistory
return callback null, false
else
WebApiManager.getProjectDetails project_id, (error, details) ->
return callback(error) if error?
logger.log project_id: project_id, details: details, "got details"
if details?.features?.versioning
MongoManager.setProjectMetaData project_id, preserveHistory: true, (error) ->
return callback(error) if error?
MongoManager.upgradeHistory project_id, (error) ->
return callback(error) if error?
callback null, false
else
callback null, true