const Sequelize = require('sequelize'); const seqConn = new Sequelize({ dialect: 'sqlite', storage: process.env.DB_STORAGE, pool: { max: 5, min: 0, acquire: 30000, idle: 10000, }, logging: console.log, }); ////// Sessions, Users ////// // Sessions const Session = seqConn.define('Session', { sid: { type: Sequelize.TEXT, primaryKey: true }, data: Sequelize.TEXT, expires: Sequelize.DATE, }); // User const User = seqConn.define('User', { username: { type: Sequelize.TEXT, unique: true, allowNull: false, }, password: { type: Sequelize.TEXT, allowNull: false }, power: { type: Sequelize.SMALLINT, allowNull: false, defaultValue: 0 } }); // RegisteredDomain const RegisteredDomain = seqConn.define('RegisteredDomain', { domain: { type: Sequelize.TEXT, unique: true, allowNull: false }, owner: { type: Sequelize.BIGINT.UNSIGNED, allowNull: false } }); ////// Exports ////// module.exports = { db: seqConn, models: { Session, User, RegisteredDomain } }