Built motion from commit 503e72f.|0.0.143
[motion.git] / server / models / module.js
index 73d04d3..845f4ba 100644 (file)
@@ -1 +1,41 @@
-var _0xd7ae=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x64\x75\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x64\x75\x6C\x65\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0xd7ae[0]]=function(_0x18a2x1,_0x18a2x2){var _0x18a2x3=_0x18a2x1[_0xd7ae[6]](_0xd7ae[1],{name:{type:_0x18a2x2[_0xd7ae[2]],unique:true,allowNull:false,validate:{notEmpty:true}},title:_0x18a2x2[_0xd7ae[2]]},{tableName:_0xd7ae[3],associate:function(_0x18a2x4){_0x18a2x3[_0xd7ae[5]](_0x18a2x4.User,{through:_0xd7ae[4]})}});return _0x18a2x3}
\ No newline at end of file
+/**
+ * Module Model
+ */
+
+module.exports = function(sequelize, DataTypes) {
+
+  var Module = sequelize.define('Module', {
+    name: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notEmpty: true
+      }
+    },
+    title: DataTypes.STRING,
+    path: DataTypes.STRING
+  }, {
+    tableName: 'modules',
+    associate: function(models) {
+      Module.belongsToMany(models.User, {
+        through: models.UserHasModule,
+        required: false
+      });
+      Module.hasMany(models.Module, {
+        as: 'SubModules'
+      });
+      Module.addScope('submodules', {
+        include: [{
+          model: models.Module,
+          as: 'SubModules',
+          required: false,
+          include: [{
+            all: true
+          }]
+        }]
+      });
+    }
+  });
+
+  return Module;
+};