added files out of sync error object
This commit is contained in:
@@ -4,6 +4,7 @@ Settings = require "settings-sharelatex"
|
|||||||
Metrics = require "./Metrics"
|
Metrics = require "./Metrics"
|
||||||
ProjectPersistenceManager = require "./ProjectPersistenceManager"
|
ProjectPersistenceManager = require "./ProjectPersistenceManager"
|
||||||
logger = require "logger-sharelatex"
|
logger = require "logger-sharelatex"
|
||||||
|
Errors = require "./Errors"
|
||||||
|
|
||||||
module.exports = CompileController =
|
module.exports = CompileController =
|
||||||
compile: (req, res, next = (error) ->) ->
|
compile: (req, res, next = (error) ->) ->
|
||||||
@@ -15,7 +16,7 @@ module.exports = CompileController =
|
|||||||
ProjectPersistenceManager.markProjectAsJustAccessed request.project_id, (error) ->
|
ProjectPersistenceManager.markProjectAsJustAccessed request.project_id, (error) ->
|
||||||
return next(error) if error?
|
return next(error) if error?
|
||||||
CompileManager.doCompile request, (error, outputFiles = []) ->
|
CompileManager.doCompile request, (error, outputFiles = []) ->
|
||||||
if error?.message is "invalid state"
|
if error instanceOf Errors.FilesOutOfSyncError
|
||||||
code = 409 # Http 409 Conflict
|
code = 409 # Http 409 Conflict
|
||||||
status = "retry"
|
status = "retry"
|
||||||
else if error?.terminated
|
else if error?.terminated
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ NotFoundError = (message) ->
|
|||||||
return error
|
return error
|
||||||
NotFoundError.prototype.__proto__ = Error.prototype
|
NotFoundError.prototype.__proto__ = Error.prototype
|
||||||
|
|
||||||
|
FilesOutOfSyncError = (message) ->
|
||||||
|
error = new Error(message)
|
||||||
|
error.name = "FilesOutOfSyncError"
|
||||||
|
error.__proto__ = FilesOutOfSyncError.prototype
|
||||||
|
return error
|
||||||
|
FilesOutOfSyncError.prototype.__proto__ = Error.prototype
|
||||||
|
|
||||||
module.exports = Errors =
|
module.exports = Errors =
|
||||||
NotFoundError: NotFoundError
|
NotFoundError: NotFoundError
|
||||||
|
FilesOutOfSyncError: FilesOutOfSyncError
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ async = require "async"
|
|||||||
mkdirp = require "mkdirp"
|
mkdirp = require "mkdirp"
|
||||||
OutputFileFinder = require "./OutputFileFinder"
|
OutputFileFinder = require "./OutputFileFinder"
|
||||||
Metrics = require "./Metrics"
|
Metrics = require "./Metrics"
|
||||||
|
Errors = require "./Errors"
|
||||||
logger = require "logger-sharelatex"
|
logger = require "logger-sharelatex"
|
||||||
settings = require("settings-sharelatex")
|
settings = require("settings-sharelatex")
|
||||||
|
|
||||||
@@ -16,7 +17,7 @@ module.exports = ResourceWriter =
|
|||||||
if request.syncType? is "incremental"
|
if request.syncType? is "incremental"
|
||||||
ResourceWriter.checkSyncState request.syncState, basePath, (error, ok) ->
|
ResourceWriter.checkSyncState request.syncState, basePath, (error, ok) ->
|
||||||
logger.log syncState: request.syncState, result:ok, "checked state on incremental request"
|
logger.log syncState: request.syncState, result:ok, "checked state on incremental request"
|
||||||
return callback new Error("invalid state") if not ok
|
return callback new Errors.FilesOutOfSyncError("invalid state for incremental update") if not ok
|
||||||
ResourceWriter.saveIncrementalResourcesToDisk request.project_id, request.resources, basePath, callback
|
ResourceWriter.saveIncrementalResourcesToDisk request.project_id, request.resources, basePath, callback
|
||||||
else
|
else
|
||||||
@saveAllResourcesToDisk request.project_id, request.resources, basePath, (error) ->
|
@saveAllResourcesToDisk request.project_id, request.resources, basePath, (error) ->
|
||||||
|
|||||||
Reference in New Issue
Block a user