aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/index.js36
-rw-r--r--models/user.js23
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;
+};