first sync

This commit is contained in:
41666 2017-12-04 21:25:13 -06:00
parent 5d6f382c8a
commit a4acc441ea
52 changed files with 28315 additions and 0 deletions

14
Server/models/Server.js Normal file
View file

@ -0,0 +1,14 @@
module.exports = (sql, DataTypes) => {
return sql.define('server', {
id: { // discord snowflake
type: DataTypes.TEXT,
primaryKey: true
},
categories: {
type: DataTypes.JSON
},
note: {
type: DataTypes.TEXT
}
})
}

7
Server/models/Session.js Normal file
View file

@ -0,0 +1,7 @@
module.exports = (sequelize, DataTypes) => {
return sequelize.define('session', {
id: { type: DataTypes.TEXT, primaryKey: true },
maxAge: DataTypes.BIGINT,
data: DataTypes.JSONB
})
}

37
Server/models/index.js Normal file
View file

@ -0,0 +1,37 @@
const log = new (require('../logger'))('models/index')
const glob = require('glob')
const path = require('path')
const util = require('../util/model-methods')
module.exports = (sql) => {
const models = {}
const modelFiles = glob.sync('./models/**/!(index).js')
log.debug('found models', modelFiles)
modelFiles.forEach((v) => {
let name = path.basename(v).replace('.js', '')
if (v === './models/index.js') {
log.debug('index.js hit, skipped')
return
}
try {
log.debug('importing..', v.replace('models/', ''))
let model = sql.import(v.replace('models/', ''))
models[name] = model
} catch (err) {
log.fatal('error importing model ' + v, err)
process.exit(-1)
}
})
Object.keys(models).forEach((v) => {
if (models[v].hasOwnProperty('__associations')) {
models[v].__associations(models)
}
if (models[v].hasOwnProperty('__instanceMethods')) {
models[v].__instanceMethods(models[v])
}
})
return models
}