diff options
Diffstat (limited to 'models')
| -rw-r--r-- | models/index.js | 36 | ||||
| -rw-r--r-- | models/user.js | 23 |
2 files changed, 59 insertions, 0 deletions
diff --git a/models/index.js b/models/index.js new file mode 100644 index 00000000..5662f105 --- /dev/null +++ b/models/index.js @@ -0,0 +1,36 @@ +'use strict'; + +var fs = require('fs'); +var path = require('path'); +var Sequelize = require('sequelize'); +var basename = path.basename(__filename); +var env = process.env.NODE_ENV || 'development'; +var config = require(__dirname + '/../config/config.json')[env]; +var db = {}; + +if (config.use_env_variable) { + var sequelize = new Sequelize(process.env[config.use_env_variable], config); +} else { + var sequelize = new Sequelize(config.database, config.username, config.password, config); +} + +fs + .readdirSync(__dirname) + .filter(file => { + return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); + }) + .forEach(file => { + var model = sequelize['import'](path.join(__dirname, file)); + db[model.name] = model; + }); + +Object.keys(db).forEach(modelName => { + if (db[modelName].associate) { + db[modelName].associate(db); + } +}); + +db.sequelize = sequelize; +db.Sequelize = Sequelize; + +module.exports = db; diff --git a/models/user.js b/models/user.js new file mode 100644 index 00000000..d7c078a0 --- /dev/null +++ b/models/user.js @@ -0,0 +1,23 @@ +'use strict'; +module.exports = (sequelize, DataTypes) => { + var User = sequelize.define('User', { + username: DataTypes.STRING, + password: DataTypes.STRING, + email: DataTypes.STRING, + address: DataTypes.STRING, + unit: DataTypes.STRING, + symbol: DataTypes.STRING, + currency: DataTypes.STRING, + commission: DataTypes.STRING, + title: DataTypes.STRING, + pubkey: DataTypes.STRING, + privkey: DataTypes.STRING + }, { + classMethods: { + associate: function(models) { + // associations can be defined here + } + } + }); + return User; +}; |
