diff --git a/services/notifications/app.js b/services/notifications/app.js index 7d5b007e22..d12686976b 100644 --- a/services/notifications/app.js +++ b/services/notifications/app.js @@ -1,48 +1,60 @@ -metrics = require("metrics-sharelatex") -metrics.initialize("notifications") -Settings = require 'settings-sharelatex' -logger = require 'logger-sharelatex' -logger.initialize("notifications-sharelatex") -express = require('express') -app = express() -controller = require("./app/js/NotificationsController") -mongojs = require('mongojs') -db = mongojs(Settings.mongo.url, ['notifications']) -Path = require("path") +/* + * decaffeinate suggestions: + * DS102: Remove unnecessary code created because of implicit returns + * DS103: Rewrite code to no longer use __guard__ + * DS207: Consider shorter variations of null checks + * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md + */ +const metrics = require("metrics-sharelatex"); +metrics.initialize("notifications"); +const Settings = require('settings-sharelatex'); +const logger = require('logger-sharelatex'); +logger.initialize("notifications-sharelatex"); +const express = require('express'); +const app = express(); +const controller = require("./app/js/NotificationsController"); +const mongojs = require('mongojs'); +const db = mongojs(Settings.mongo.url, ['notifications']); +const Path = require("path"); -metrics.memory.monitor(logger) +metrics.memory.monitor(logger); -HealthCheckController = require("./app/js/HealthCheckController") +const HealthCheckController = require("./app/js/HealthCheckController"); -app.configure ()-> - app.use express.methodOverride() - app.use express.bodyParser() - app.use metrics.http.monitor(logger) - app.use express.errorHandler() +app.configure(function(){ + app.use(express.methodOverride()); + app.use(express.bodyParser()); + app.use(metrics.http.monitor(logger)); + return app.use(express.errorHandler()); +}); -metrics.injectMetricsRoute(app) +metrics.injectMetricsRoute(app); -app.post '/user/:user_id', controller.addNotification -app.get '/user/:user_id', controller.getUserNotifications -app.del '/user/:user_id/notification/:notification_id', controller.removeNotificationId -app.del '/user/:user_id', controller.removeNotificationKey -app.del '/key/:key', controller.removeNotificationByKeyOnly +app.post('/user/:user_id', controller.addNotification); +app.get('/user/:user_id', controller.getUserNotifications); +app.del('/user/:user_id/notification/:notification_id', controller.removeNotificationId); +app.del('/user/:user_id', controller.removeNotificationKey); +app.del('/key/:key', controller.removeNotificationByKeyOnly); -app.get '/status', (req, res)-> - res.send('notifications sharelatex up') +app.get('/status', (req, res)=> res.send('notifications sharelatex up')); -app.get '/health_check', (req, res)-> - HealthCheckController.check (err)-> - if err? - logger.err err:err, "error performing health check" - res.send 500 - else - res.send 200 +app.get('/health_check', (req, res)=> + HealthCheckController.check(function(err){ + if (err != null) { + logger.err({err}, "error performing health check"); + return res.send(500); + } else { + return res.send(200); + } + }) +); -app.get '*', (req, res)-> - res.send 404 +app.get('*', (req, res)=> res.send(404)); -host = Settings.internal?.notifications?.host || "localhost" -port = Settings.internal?.notifications?.port || 3042 -app.listen port, host, -> - logger.info "notifications starting up, listening on #{host}:#{port}" +const host = __guard__(Settings.internal != null ? Settings.internal.notifications : undefined, x => x.host) || "localhost"; +const port = __guard__(Settings.internal != null ? Settings.internal.notifications : undefined, x1 => x1.port) || 3042; +app.listen(port, host, () => logger.info(`notifications starting up, listening on ${host}:${port}`)); + +function __guard__(value, transform) { + return (typeof value !== 'undefined' && value !== null) ? transform(value) : undefined; +} \ No newline at end of file diff --git a/services/notifications/config/settings.defaults.js b/services/notifications/config/settings.defaults.js index 3baacee60f..5307d600a4 100644 --- a/services/notifications/config/settings.defaults.js +++ b/services/notifications/config/settings.defaults.js @@ -1,8 +1,13 @@ -module.exports = Settings = - internal: - notifications: - port: 3042 - host: process.env["LISTEN_ADDRESS"] or "localhost" +let Settings; +module.exports = (Settings = { + internal: { + notifications: { + port: 3042, + host: process.env["LISTEN_ADDRESS"] || "localhost" + } + }, - mongo: - url: process.env['MONGO_CONNECTION_STRING'] or "mongodb://#{process.env["MONGO_HOST"] or "localhost"}/sharelatex" + mongo: { + url: process.env['MONGO_CONNECTION_STRING'] || `mongodb://${process.env["MONGO_HOST"] || "localhost"}/sharelatex` + } +});