Decaf cleanup: simplify null checks

This commit is contained in:
Eric Mc Sween 2020-05-11 10:52:06 -04:00
parent 80ea49c69c
commit fc73bbe1a5

View file

@ -2,13 +2,6 @@
camelcase,
handle-callback-err,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
let HttpController
const DocumentManager = require('./DocumentManager')
const HistoryManager = require('./HistoryManager')
@ -25,15 +18,12 @@ const TWO_MEGABYTES = 2 * 1024 * 1024
module.exports = HttpController = {
getDoc(req, res, next) {
let fromVersion
if (next == null) {
next = function (error) {}
}
const { doc_id } = req.params
const { project_id } = req.params
logger.log({ project_id, doc_id }, 'getting doc via http')
const timer = new Metrics.Timer('http.getDoc')
if ((req.query != null ? req.query.fromVersion : undefined) != null) {
if (req.query.fromVersion != null) {
fromVersion = parseInt(req.query.fromVersion, 10)
} else {
fromVersion = -1
@ -45,7 +35,7 @@ module.exports = HttpController = {
fromVersion,
function (error, lines, version, ops, ranges, pathname) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id, doc_id }, 'got doc via http')
@ -73,11 +63,8 @@ module.exports = HttpController = {
},
getProjectDocsAndFlushIfOld(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id } = req.params
const projectStateHash = req.query != null ? req.query.state : undefined
const projectStateHash = req.query.state
// exclude is string of existing docs "id:version,id:version,..."
const excludeItems =
req.query.exclude != null ? req.query.exclude.split(',') : []
@ -100,7 +87,7 @@ module.exports = HttpController = {
timer.done()
if (error instanceof Errors.ProjectStateChangedError) {
res.sendStatus(409) // conflict
} else if (error != null) {
} else if (error) {
next(error)
} else {
logger.log(
@ -117,15 +104,12 @@ module.exports = HttpController = {
},
clearProjectState(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id } = req.params
const timer = new Metrics.Timer('http.clearProjectState')
logger.log({ project_id }, 'clearing project state via http')
ProjectManager.clearProjectState(project_id, function (error) {
timer.done()
if (error != null) {
if (error) {
next(error)
} else {
res.sendStatus(200)
@ -134,9 +118,6 @@ module.exports = HttpController = {
},
setDoc(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { doc_id } = req.params
const { project_id } = req.params
const { lines, source, user_id, undoing } = req.body
@ -162,7 +143,7 @@ module.exports = HttpController = {
undoing,
function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id, doc_id }, 'set doc via http')
@ -172,9 +153,6 @@ module.exports = HttpController = {
}, // No Content
flushDocIfLoaded(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { doc_id } = req.params
const { project_id } = req.params
logger.log({ project_id, doc_id }, 'flushing doc via http')
@ -183,7 +161,7 @@ module.exports = HttpController = {
error
) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id, doc_id }, 'flushed doc via http')
@ -192,9 +170,6 @@ module.exports = HttpController = {
}, // No Content
deleteDoc(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { doc_id } = req.params
const { project_id } = req.params
const ignoreFlushErrors = req.query.ignore_flush_errors === 'true'
@ -210,7 +185,7 @@ module.exports = HttpController = {
// failed and sometimes it is required
HistoryManager.flushProjectChangesAsync(project_id)
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id, doc_id }, 'deleted doc via http')
@ -220,15 +195,12 @@ module.exports = HttpController = {
}, // No Content
flushProject(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id } = req.params
logger.log({ project_id }, 'flushing project via http')
const timer = new Metrics.Timer('http.flushProject')
ProjectManager.flushProjectWithLocks(project_id, function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id }, 'flushed project via http')
@ -237,21 +209,18 @@ module.exports = HttpController = {
}, // No Content
deleteProject(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id } = req.params
logger.log({ project_id }, 'deleting project via http')
const options = {}
if (req.query != null ? req.query.background : undefined) {
if (req.query.background) {
options.background = true
} // allow non-urgent flushes to be queued
if (req.query != null ? req.query.shutdown : undefined) {
if (req.query.shutdown) {
options.skip_history_flush = true
} // don't flush history when realtime shuts down
if (req.query != null ? req.query.background : undefined) {
if (req.query.background) {
ProjectManager.queueFlushAndDeleteProject(project_id, function (error) {
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id }, 'queue delete of project via http')
@ -264,7 +233,7 @@ module.exports = HttpController = {
options,
function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id }, 'deleted project via http')
@ -275,11 +244,7 @@ module.exports = HttpController = {
}, // No Content
deleteMultipleProjects(req, res, next) {
if (next == null) {
next = function (error) {}
}
const project_ids =
(req.body != null ? req.body.project_ids : undefined) || []
const project_ids = req.body.project_ids || []
logger.log({ project_ids }, 'deleting multiple projects via http')
async.eachSeries(
project_ids,
@ -288,7 +253,7 @@ module.exports = HttpController = {
ProjectManager.queueFlushAndDeleteProject(project_id, cb)
},
function (error) {
if (error != null) {
if (error) {
return next(error)
}
res.sendStatus(204)
@ -297,11 +262,8 @@ module.exports = HttpController = {
}, // No Content
acceptChanges(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id, doc_id } = req.params
let change_ids = req.body != null ? req.body.change_ids : undefined
let change_ids = req.body.change_ids
if (change_ids == null) {
change_ids = [req.params.change_id]
}
@ -316,7 +278,7 @@ module.exports = HttpController = {
change_ids,
function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log(
@ -329,9 +291,6 @@ module.exports = HttpController = {
}, // No Content
deleteComment(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id, doc_id, comment_id } = req.params
logger.log({ project_id, doc_id, comment_id }, 'deleting comment via http')
const timer = new Metrics.Timer('http.deleteComment')
@ -341,7 +300,7 @@ module.exports = HttpController = {
comment_id,
function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log(
@ -354,9 +313,6 @@ module.exports = HttpController = {
}, // No Content
updateProject(req, res, next) {
if (next == null) {
next = function (error) {}
}
const timer = new Metrics.Timer('http.updateProject')
const { project_id } = req.params
const {
@ -380,7 +336,7 @@ module.exports = HttpController = {
version,
function (error) {
timer.done()
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id }, 'updated project via http')
@ -390,9 +346,6 @@ module.exports = HttpController = {
}, // No Content
resyncProjectHistory(req, res, next) {
if (next == null) {
next = function (error) {}
}
const { project_id } = req.params
const { projectHistoryId, docs, files } = req.body
@ -406,7 +359,7 @@ module.exports = HttpController = {
docs,
files,
function (error) {
if (error != null) {
if (error) {
return next(error)
}
logger.log({ project_id }, 'queued project history resync via http')
@ -416,9 +369,6 @@ module.exports = HttpController = {
},
flushAllProjects(req, res, next) {
if (next == null) {
next = function (error) {}
}
res.setTimeout(5 * 60 * 1000)
const options = {
limit: req.query.limit || 1000,
@ -426,7 +376,7 @@ module.exports = HttpController = {
dryRun: req.query.dryRun || false
}
ProjectFlusher.flushAllProjects(options, function (err, project_ids) {
if (err != null) {
if (err) {
logger.err({ err }, 'error bulk flushing projects')
res.sendStatus(500)
} else {
@ -436,9 +386,6 @@ module.exports = HttpController = {
},
flushQueuedProjects(req, res, next) {
if (next == null) {
next = function (error) {}
}
res.setTimeout(10 * 60 * 1000)
const options = {
limit: req.query.limit || 1000,
@ -449,7 +396,7 @@ module.exports = HttpController = {
err,
flushed
) {
if (err != null) {
if (err) {
logger.err({ err }, 'error flushing old projects')
res.sendStatus(500)
} else {