Files

67 lines
1.2 KiB
JavaScript

const Sequelize = require('sequelize');
const seqConn = new Sequelize({
dialect: 'sqlite',
storage: `ndm.db`,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
},
logging: console.log,
});
// User
const User = seqConn.define('User', {
username: {
type: Sequelize.TEXT,
unique: true,
allowNull: false,
collate: 'NOCASE',
},
password: {
type: Sequelize.TEXT,
allowNull: false
},
power: {
type: Sequelize.SMALLINT,
allowNull: false,
defaultValue: 0
}
});
// RegisteredDomain
const RegisteredDomain = seqConn.define('RegisteredDomain', {
domain: {
type: Sequelize.TEXT,
allowNull: false
},
tld: {
type: Sequelize.TEXT,
allowNull: false
},
owner: {
type: Sequelize.BIGINT.UNSIGNED,
allowNull: false
},
}, {
indexes: [
{
unique: true,
fields: [
{ name: 'domain', collate: 'NOCASE' },
{ name: 'tld', collate: 'NOCASE' }
],
},
],
});
////// Exports //////
module.exports = {
db: seqConn,
models: {
User,
RegisteredDomain
}
}