diff --git a/lib/models/index.ts b/lib/models/index.ts index a2fcd7c13..146667226 100644 --- a/lib/models/index.ts +++ b/lib/models/index.ts @@ -1,12 +1,11 @@ import {Sequelize} from 'sequelize-typescript'; -import { Author } from './author'; -import { Note } from './note'; -import { Revision } from './revision'; -import { Temp } from './temp'; -import { User } from './user'; -var fs = require('fs') -var path = require('path'); -const { cloneDeep } = require('lodash') +import {Author} from './author'; +import {Note} from './note'; +import {Revision} from './revision'; +import {Temp} from './temp'; +import {User} from './user'; + +const {cloneDeep} = require('lodash') // core var config = require('../config') @@ -17,7 +16,7 @@ dbconfig.logging = config.debug ? (data) => { logger.info(data) } : false -var sequelize: any = null; +export let sequelize: any = null; // Heroku specific if (config.dbURL) { @@ -26,38 +25,5 @@ if (config.dbURL) { sequelize = new Sequelize(dbconfig.database, dbconfig.username, dbconfig.password, dbconfig) } -// [Postgres] Handling NULL bytes -// https://github.com/sequelize/sequelize/issues/6485 -function stripNullByte (value) { - value = '' + value - // eslint-disable-next-line no-control-regex - return value ? value.replace(/\u0000/g, '') : value -} -sequelize.stripNullByte = stripNullByte - -function processData (data, _default, process) { - if (data === undefined) return data - else if (process) { - if (data === null) { - return _default - } else { - return process(data) - } - } else { - if (data === null) { - return _default - } else { - return data - } - } -} -sequelize.processData = processData - -var db: any = {} - sequelize.addModels([Author, Note, Revision, Temp, User]); -db.sequelize = sequelize -db.Sequelize = Sequelize - -module.exports = db diff --git a/lib/utils.ts b/lib/utils.ts index 58af78618..2d0205f75 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -24,6 +24,30 @@ export module Utils { } } + // [Postgres] Handling NULL bytes + // https://github.com/sequelize/sequelize/issues/6485 + export function stripNullByte(value) { + value = '' + value + // eslint-disable-next-line no-control-regex + return value ? value.replace(/\u0000/g, '') : value + } + + export function processData (data, _default, process?) { + if (data === undefined) return data + else if (process) { + if (data === null) { + return _default + } else { + return process(data) + } + } else { + if (data === null) { + return _default + } else { + return data + } + } + } }