| 1234567891011121314151617181920212223242526272829303132 |
- 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?
- callback null, false
- else
- callback null, true
- deleteOldProjectUpdates: (project_id, callback = (error) ->) ->
- UpdateTrimmer._shouldTrimUpdates project_id, (error, shouldTrim) ->
- return callback(error) if error?
- if shouldTrim
- logger.log project_id: project_id, "deleting old updates"
- oneWeek = 7 * 24 * 60 * 60 * 1000
- before = Date.now() - oneWeek
- MongoManager.deleteOldProjectUpdates project_id, before, callback
- else
- logger.log project_id: project_id, "not deleting old updates"
- callback()
|