Skip to content

Commit

Permalink
chore(core): code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
polonel committed May 12, 2022
1 parent 097b482 commit ea09c46
Show file tree
Hide file tree
Showing 31 changed files with 683 additions and 716 deletions.
40 changes: 20 additions & 20 deletions src/backup/backup.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,23 @@
* Copyright (c) 2014-2019. All rights reserved.
*/

var fs = require('fs-extra')
var os = require('os')
var path = require('path')
var spawn = require('child_process').spawn
var archiver = require('archiver')
var database = require('../database')
var winston = require('../logger')
var moment = require('moment')
const fs = require('fs-extra')
const os = require('os')
const path = require('path')
const spawn = require('child_process').spawn
const archiver = require('archiver')
const database = require('../database')
const winston = require('../logger')
const moment = require('moment')

global.env = process.env.NODE_ENV || 'production'

var CONNECTION_URI = null
let CONNECTION_URI = null

function createZip (callback) {
var filename = 'trudesk-' + moment().format('MMDDYYYY_HHmm') + '.zip'
var output = fs.createWriteStream(path.join(__dirname, '../../backups/', filename))
var archive = archiver('zip', {
const filename = 'trudesk-' + moment().format('MMDDYYYY_HHmm') + '.zip'
const output = fs.createWriteStream(path.join(__dirname, '../../backups/', filename))
const archive = archiver('zip', {
zlib: { level: 9 }
})

Expand All @@ -53,7 +53,7 @@ function createZip (callback) {
}

function cleanup (callback) {
var rimraf = require('rimraf')
const rimraf = require('rimraf')
rimraf(path.join(__dirname, '../../backups/dump'), callback)
}

Expand All @@ -67,22 +67,22 @@ function copyFiles (callback) {
}

function runBackup (callback) {
var platform = os.platform()
const platform = os.platform()
winston.info('Starting backup... (' + platform + ')')

var mongodumpExec = 'mongodump'
let mongodumpExec = 'mongodump'
if (platform === 'win32') {
mongodumpExec = path.join(__dirname, 'bin/win32/mongodump')
}

var options = [
const options = [
'--uri',
CONNECTION_URI,
'--forceTableScan',
'--out',
path.join(__dirname, '../../backups/dump/database/')
]
var mongodump = spawn(mongodumpExec, options, { env: { PATH: process.env.PATH } })
const mongodump = spawn(mongodumpExec, options, { env: { PATH: process.env.PATH } })

mongodump.stdout.on('data', function (data) {
winston.debug(data.toString())
Expand All @@ -99,7 +99,7 @@ function runBackup (callback) {

mongodump.on('exit', function (code) {
if (code === 0) {
var dbName = fs.readdirSync(path.join(__dirname, '../../backups/dump/database'))[0]
const dbName = fs.readdirSync(path.join(__dirname, '../../backups/dump/database'))[0]
if (!dbName) {
return callback(new Error('Unable to retrieve database name'))
}
Expand All @@ -125,7 +125,7 @@ function runBackup (callback) {
CONNECTION_URI = process.env.MONGOURI

if (!CONNECTION_URI) return process.send({ error: { message: 'Invalid connection uri' } })
var options = {
const options = {
keepAlive: 0,
connectTimeoutMS: 5000
}
Expand All @@ -150,7 +150,7 @@ function runBackup (callback) {

runBackup(function (err) {
if (err) return process.send({ success: false, error: err })
var filename = 'trudesk-' + moment().format('MMDDYYYY_HHmm') + '.zip'
const filename = 'trudesk-' + moment().format('MMDDYYYY_HHmm') + '.zip'

winston.info('Backup completed successfully: ' + filename)
process.send({ success: true })
Expand Down
40 changes: 20 additions & 20 deletions src/backup/restore.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,28 @@
* Copyright (c) 2014-2019. All rights reserved.
*/

var _ = require('lodash')
var fs = require('fs-extra')
var path = require('path')
var spawn = require('child_process').spawn
var os = require('os')
var async = require('async')
var AdmZip = require('adm-zip')
var database = require('../database')
var winston = require('../logger')
const _ = require('lodash')
const fs = require('fs-extra')
const path = require('path')
const spawn = require('child_process').spawn
const os = require('os')
const async = require('async')
const AdmZip = require('adm-zip')
const database = require('../database')
const winston = require('../logger')

global.env = process.env.NODE_ENV || 'production'

var CONNECTION_URI = null
var databaseName = null
let CONNECTION_URI = null
let databaseName = null

function cleanup (callback) {
var rimraf = require('rimraf')
const rimraf = require('rimraf')
rimraf(path.join(__dirname, '../../restores/restore_*'), callback)
}

function cleanUploads (callback) {
var rimraf = require('rimraf')
const rimraf = require('rimraf')
rimraf(path.join(__dirname, '../../public/uploads/*'), callback)
}

Expand Down Expand Up @@ -67,7 +67,7 @@ function copyUploads (file, callback) {
}

function extractArchive (file, callback) {
var zip = new AdmZip(path.join(__dirname, '../../backups/', file))
const zip = new AdmZip(path.join(__dirname, '../../backups/', file))
zip.extractAllTo(path.join(__dirname, '../../restores/restore_' + file + '/'), true)

if (_.isFunction(callback)) {
Expand All @@ -80,23 +80,23 @@ function cleanMongoDb (callback) {
}

function runRestore (file, callback) {
var platform = os.platform()
const platform = os.platform()
winston.info('Starting Restore... (' + platform + ')')

var dbName = fs.readdirSync(path.join(__dirname, '../../restores/restore_' + file, 'database'))[0]
const dbName = fs.readdirSync(path.join(__dirname, '../../restores/restore_' + file, 'database'))[0]
if (!dbName) {
return callback(new Error('Invalid Backup. Unable to get DBName'))
}

var options = [
const options = [
'--uri',
CONNECTION_URI,
'-d',
databaseName,
path.join(__dirname, '../../restores/restore_' + file, 'database', dbName),
'--noIndexRestore'
]
var mongorestore = null
let mongorestore = null
if (platform === 'win32') {
mongorestore = spawn(path.join(__dirname, 'bin', platform, 'mongorestore'), options, {
env: { PATH: process.env.PATH }
Expand Down Expand Up @@ -126,14 +126,14 @@ function runRestore (file, callback) {
CONNECTION_URI = process.env.MONGOURI
if (!CONNECTION_URI) return process.send({ success: false, error: 'Invalid connection uri' })

var FILE = process.env.FILE
const FILE = process.env.FILE
if (!FILE) return process.send({ success: false, error: 'Invalid File' })

if (!fs.existsSync(path.join(__dirname, '../../backups', FILE))) {
return process.send({ success: false, error: 'FILE NOT FOUND' })
}

var options = {
const options = {
keepAlive: 0,
connectTimeoutMS: 5000
}
Expand Down
14 changes: 7 additions & 7 deletions src/cache/cache.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,25 @@
* Copyright (c) 2014-2019. All rights reserved.
*/

var _ = require('lodash')
var NodeCache = require('node-cache')
var path = require('path')
var cache = {}
const _ = require('lodash')
const NodeCache = require('node-cache')
const path = require('path')
const cache = {}

cache.init = function () {
global.cache = new NodeCache({ checkperiod: 0 })
cache.memLimit = process.env.CACHE_MEMLIMIT || '2048'
var env = { FORK: 1, NODE_ENV: global.env, TIMEZONE: global.timezone }
const env = { FORK: 1, NODE_ENV: global.env, TIMEZONE: global.timezone }
cache.env = _.merge(cache.env, env)

spawnCache()
setInterval(spawnCache, 55 * 60 * 1000)
}

function spawnCache () {
var fork = require('child_process').fork
const fork = require('child_process').fork

var n = fork(path.join(__dirname, './index.js'), {
const n = fork(path.join(__dirname, './index.js'), {
execArgv: ['--max-old-space-size=' + cache.memLimit],
env: cache.env
})
Expand Down
61 changes: 20 additions & 41 deletions src/cache/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,19 @@
* Copyright (c) 2014-2019. All rights reserved.
*/

var NodeCache = require('node-cache')
var async = require('async')
var path = require('path')
var nconf = require('nconf')
var _ = require('lodash')
var winston = require('../logger')
var moment = require('moment-timezone')
const NodeCache = require('node-cache')
const async = require('async')
const path = require('path')
const nconf = require('nconf')
const _ = require('lodash')
const winston = require('../logger')
const moment = require('moment-timezone')

var truCache = {}
var cache
const truCache = {}
let cache

global.env = process.env.NODE_ENV || 'production'

// winston.setLevels(winston.config.cli.levels)
// winston.remove(winston.transports.Console)
// winston.add(winston.transports.Console, {
// colorize: true,
// timestamp: function () {
// var date = new Date()
// return (
// date.getMonth() +
// 1 +
// '/' +
// date.getDate() +
// ' ' +
// date.toTimeString().substr(0, 8) +
// ' [Child:Cache:' +
// process.pid +
// ']'
// )
// },
// level: global.env === 'production' ? 'info' : 'verbose'
// })

function loadConfig () {
nconf.file({
file: path.join(__dirname, '/../../config.json')
Expand All @@ -56,8 +35,8 @@ function loadConfig () {
})
}

var refreshTimer
var lastUpdated = moment.utc().tz(process.env.TIMEZONE || 'America/New_York')
let refreshTimer
let lastUpdated = moment.utc().tz(process.env.TIMEZONE || 'America/New_York')

truCache.init = function (callback) {
cache = new NodeCache({
Expand Down Expand Up @@ -89,7 +68,7 @@ truCache.refreshCache = function (callback) {
async.waterfall(
[
function (done) {
var ticketSchema = require('../models/ticket')
const ticketSchema = require('../models/ticket')
ticketSchema.getForCache(function (e, tickets) {
if (e) return done(e)
winston.debug('Pulled ' + tickets.length)
Expand All @@ -102,10 +81,10 @@ truCache.refreshCache = function (callback) {
async.parallel(
[
function (done) {
var ticketStats = require('./ticketStats')
const ticketStats = require('./ticketStats')
ticketStats(tickets, function (err, stats) {
if (err) return done(err)
var expire = 3600 // 1 hour
const expire = 3600 // 1 hour
cache.set('tickets:overview:lastUpdated', stats.lastUpdated, expire)

cache.set('tickets:overview:e30:ticketCount', stats.e30.tickets, expire)
Expand Down Expand Up @@ -137,7 +116,7 @@ truCache.refreshCache = function (callback) {
})
},
function (done) {
var tagStats = require('./tagStats')
const tagStats = require('./tagStats')
async.parallel(
[
function (c) {
Expand Down Expand Up @@ -201,7 +180,7 @@ truCache.refreshCache = function (callback) {
)
},
function (done) {
var quickStats = require('./quickStats')
const quickStats = require('./quickStats')
quickStats(tickets, function (err, stats) {
if (err) return done(err)

Expand Down Expand Up @@ -240,10 +219,10 @@ truCache.refreshCache = function (callback) {
process.on('message', function (message) {
if (message.name === 'cache:refresh') {
winston.debug('Refreshing Cache....')
var now = moment()
var timeSinceLast = Math.round(moment.duration(now.diff(lastUpdated)).asMinutes())
const now = moment()
const timeSinceLast = Math.round(moment.duration(now.diff(lastUpdated)).asMinutes())
if (timeSinceLast < 5) {
var i = 5 - timeSinceLast
const i = 5 - timeSinceLast
winston.debug('Cannot refresh cache for another ' + i + ' minutes')
return false
}
Expand All @@ -265,7 +244,7 @@ truCache.refreshCache = function (callback) {
})

loadConfig()
var db = require('../database')
const db = require('../database')
db.init(function (err) {
if (err) return winston.error(err)
truCache.init(function (err) {
Expand Down
Loading

0 comments on commit ea09c46

Please sign in to comment.