diff --git a/src/apps.js b/src/apps.js index 36e1b80ce..3d63ebd63 100644 --- a/src/apps.js +++ b/src/apps.js @@ -696,6 +696,11 @@ function checkAppState(app, state) { if (state !== exports.ISTATE_PENDING_UNINSTALL && state !== exports.ISTATE_PENDING_RESTORE) return new BoxError(BoxError.BAD_STATE, 'Not allowed in error state'); } + if (app.runState === exports.RSTATE_STOPPED) { + // can't backup or restore since app addons are down. can't update because migration scripts won't run + if (state === exports.ISTATE_PENDING_UPDATE || state === exports.ISTATE_PENDING_BACKUP || state === exports.ISTATE_PENDING_RESTORE) return new BoxError(BoxError.BAD_STATE, 'Not allowed in stopped state'); + } + return null; }