/* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const Sequelize = require("sequelize"); const Settings = require("settings-sharelatex"); const _ = require("underscore"); const logger = require("logger-sharelatex"); const options = _.extend({logging:false}, Settings.mysql.clsi); logger.log({dbPath:Settings.mysql.clsi.storage}, "connecting to db"); const sequelize = new Sequelize( Settings.mysql.clsi.database, Settings.mysql.clsi.username, Settings.mysql.clsi.password, options ); if (Settings.mysql.clsi.dialect === "sqlite") { logger.log("running PRAGMA journal_mode=WAL;"); sequelize.query("PRAGMA journal_mode=WAL;"); sequelize.query("PRAGMA synchronous=OFF;"); sequelize.query("PRAGMA read_uncommitted = true;"); } module.exports = { UrlCache: sequelize.define("UrlCache", { url: Sequelize.STRING, project_id: Sequelize.STRING, lastModified: Sequelize.DATE }, { indexes: [ {fields: ['url', 'project_id']}, {fields: ['project_id']} ] }), Project: sequelize.define("Project", { project_id: {type: Sequelize.STRING, primaryKey: true}, lastAccessed: Sequelize.DATE }, { indexes: [ {fields: ['lastAccessed']} ] }), op: Sequelize.Op, sync() { logger.log({dbPath:Settings.mysql.clsi.storage}, "syncing db schema"); return sequelize.sync() .then(() => logger.log("db sync complete")).catch(err=> console.log(err, "error syncing")); } };